#include <stdio.h>
#include <stdlib.h>
#include <time.h>


typedef struct Element Element;

struct Element
{
    int nombre;
    Element *suivant;
};


typedef struct Liste Liste;
struct Liste
{
    Element *premier;
};

/*----------------------------------------------------------------*/
Liste *initialisation()
{
    Liste *liste = malloc(sizeof(*liste));
    Element *Element = malloc(sizeof(*Element));

    if (liste == NULL || Element == NULL)
    {
        exit(EXIT_FAILURE);
    }

    Element->nombre = 0;
    Element->suivant = NULL;
    liste->premier = Element;
    return liste;
}
/*----------------------------------------------------------------*/

void insertion(Liste *liste, int nvNombre)
{
    Element *nouveau = malloc(sizeof(*nouveau));
    if (liste == NULL || nouveau == NULL)
    {
        exit(EXIT_FAILURE);
    }
    nouveau->nombre = nvNombre;
    nouveau->suivant = liste->premier;
    liste->premier = nouveau;
 
}
/*----------------------------------------------------------------*/
void afficherListe(Liste *liste)
{
    int x;
    if (liste == NULL)
    {
        exit(EXIT_FAILURE);
    }
    Element *actuel = liste->premier;
    for(x=0;x<10;x++)
    {
        printf(" | %d | ", actuel->nombre);
        actuel = actuel->suivant;
    }
    printf("\n");

}
/*----------------------------------------------------------------*/
void plusgrand(Liste *liste)
{
    int max;
    if (liste == NULL)
    {
        exit(EXIT_FAILURE);
    }
    Element *actuel = liste->premier;
    if(max = actuel->nombre)
    {
        max = actuel->suivant;
        printf(" | %d | ", max);
    }

}
 
int main(int argc, char** argv)
{
    int MIN=111;
    int MAX=999;
    srand(time(NULL));
    unsigned short a = rand()%(MAX+1-MIN)+MIN;
    unsigned short b = rand()%(MAX+1-MIN)+MIN;
    unsigned short c = rand()%(MAX+1-MIN)+MIN;
    unsigned short d = rand()%(MAX+1-MIN)+MIN;
    unsigned short e = rand()%(MAX+1-MIN)+MIN;
    unsigned short f = rand()%(MAX+1-MIN)+MIN;
    unsigned short g = rand()%(MAX+1-MIN)+MIN;
    unsigned short h = rand()%(MAX+1-MIN)+MIN;
    unsigned short i = rand()%(MAX+1-MIN)+MIN;
    unsigned short j = rand()%(MAX+1-MIN)+MIN;
    Liste *maListe = initialisation();
    insertion(maListe, a);
    insertion(maListe, b);
    insertion(maListe, c);
    insertion(maListe, d);
    insertion(maListe, e);
    insertion(maListe, f);
    insertion(maListe, g);
    insertion(maListe, h);
    insertion(maListe, i);
    insertion(maListe, j);
    afficherListe(maListe);
    plusgrand(maListe);
    return EXIT_SUCCESS;
}