DEV/DEV1.1/TP15:ListesChainees/maximum.c
2022-12-08 16:43:25 +01:00

61 lines
1.3 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct maillon {
unsigned short valeur;
struct maillon* suiv;
};
typedef struct maillon maillon;
maillon* ajouteDebut(maillon *chaine, unsigned short entier){
maillon *nouveauMaillon=malloc(sizeof(maillon));
nouveauMaillon->valeur=entier;
nouveauMaillon->suiv=chaine;
return nouveauMaillon;
free(nouveauMaillon);
}
void afficheListe(maillon *chaine){
maillon *affichage=malloc(sizeof(maillon));
affichage=chaine;
while(affichage->suiv!=NULL){
printf("%hu ",affichage->valeur);
affichage=affichage->suiv;
} free(affichage);
}
int maximum(maillon *chaine){
maillon *chercheMax=malloc(sizeof(maillon));
int max=0;
chercheMax=chaine;
while(chercheMax->suiv!=NULL){
if (max<chercheMax->valeur){
max=chercheMax->valeur;
}
chercheMax=chercheMax->suiv;
} free(chercheMax);
return max;
}
int main() {
int i;
int maxi;
maillon *liste=malloc(sizeof(maillon));
srand(time(NULL));
putchar('\n');
liste->valeur=(rand()%889)+111;
liste->suiv=NULL;
for(i=0;i<10;i++){
unsigned short v=(rand()%889)+111;
liste=ajouteDebut(liste, v);
} printf("Les valeurs de la liste sont :\n");
afficheListe(liste);
putchar('\n');
maxi=maximum(liste);
printf("\nLa valeur maximum de la liste est : %hu\n\n",maxi);
return 0;
}