Files
DEV/DEV1.1/TP24/maximum.c

67 lines
1.3 KiB
C
Raw Normal View History

2024-01-08 14:05:33 +01:00
#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;
}