debut pile
This commit is contained in:
BIN
DEV1.1/TP24/maximum
Executable file
BIN
DEV1.1/TP24/maximum
Executable file
Binary file not shown.
67
DEV1.1/TP24/maximum.c
Normal file
67
DEV1.1/TP24/maximum.c
Normal file
@@ -0,0 +1,67 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
struct maillon_s {
|
||||
unsigned short valeur;
|
||||
struct maillon_s* suivant;
|
||||
};
|
||||
typedef struct maillon_s maillon;
|
||||
|
||||
maillon* ajouter_debut(maillon* premier, unsigned short nouveau) {
|
||||
maillon* p = (maillon*) malloc(sizeof(maillon*));
|
||||
if (p) {
|
||||
p->suivant = premier;
|
||||
p->valeur = nouveau;
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
void creer(maillon** liste, int nombre){
|
||||
int i;
|
||||
srand(time(NULL));
|
||||
*liste=ajouter_debut(*liste, rand()%((999-111)+111));
|
||||
for (i=0;i<nombre-1;i++){
|
||||
*liste=ajouter_debut(*liste, rand()%((999-111)+111));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
unsigned short grand(maillon* premier){
|
||||
unsigned short val;
|
||||
val=premier->valeur;
|
||||
premier=premier->suivant;
|
||||
for(;premier!=NULL;premier=premier->suivant){
|
||||
if (val<premier->valeur)
|
||||
val=premier->valeur;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
void afficher(maillon* premier) {
|
||||
maillon* p;
|
||||
for(p = premier; p != NULL; p = p->suivant)
|
||||
printf("%d ", p->valeur);
|
||||
}
|
||||
|
||||
void vider(maillon* premier){
|
||||
maillon* p;
|
||||
maillon* q;
|
||||
for(p = premier; p != NULL; p = q){
|
||||
q=p->suivant;
|
||||
free(p);
|
||||
}
|
||||
premier=NULL;
|
||||
}
|
||||
|
||||
int main(void){
|
||||
int val=10;
|
||||
unsigned short plus_grand;
|
||||
maillon* liste=NULL;
|
||||
creer(&liste,val);
|
||||
afficher(liste);
|
||||
plus_grand=grand(liste);
|
||||
printf("\n%d \n", plus_grand);
|
||||
vider(liste);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
Reference in New Issue
Block a user