mtazi69

Untitled

Apr 12th, 2021 (edited)
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.64 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. struct cellule
  5. {
  6.     int element;               
  7.     struct cellule * suivant;      
  8. };
  9. typedef struct cellule cellule;
  10.  
  11. struct liste
  12. {
  13.     cellule * tete;            
  14.     unsigned taille;           
  15. };
  16.  
  17. typedef struct liste liste;
  18.  
  19. double  moyenne(liste L)
  20. {
  21.     if(L.tete==NULL)
  22.         exit(EXIT_FAILURE);
  23.     else
  24.     {
  25.         int num = 0;
  26.         cellule * temp = L.tete;
  27.         while(temp!=NULL)
  28.         {
  29.             num = num + temp->element;
  30.             temp = temp->suivant;
  31.         }
  32.         double moyenne=0;
  33.         moyenne = num / L.taille;
  34.         return moyenne;
  35.     }
  36. }
  37. liste rechercher(liste L,int number)
  38. {
  39.     liste temp = L;
  40.         while(temp.tete!=NULL)
  41.         {
  42.             if(number==temp.tete->element)
  43.                 return temp;
  44.             else
  45.                 temp.tete=(temp.tete)->suivant;
  46.         }  
  47. }
  48. int  maximum(liste L)
  49. {
  50.     cellule * temp = L.tete;
  51.     if(temp==NULL)
  52.         exit(EXIT_FAILURE);
  53.     else
  54.         {
  55.             int i=temp->element;
  56.             while(temp!=NULL)
  57.                 {
  58.                     if(temp->element>i)
  59.                         i=temp->element;
  60.                     temp=temp->suivant;
  61.              
  62.                 }
  63.             return i;
  64.         }
  65.    
  66. }
  67. int testVide(liste L)
  68. {
  69.     if(L.tete==NULL)
  70.         return 1;
  71.     return 0;
  72. }
  73.  
  74. // Longueur d'une liste.
  75. unsigned longueur(liste L)
  76. {
  77.     unsigned l=0;
  78.     if(testVide(L)==0)
  79.     {
  80.         cellule * temp=L.tete;
  81.         while(temp!=NULL)
  82.         {
  83.             l+=1;
  84.             temp=temp->suivant;
  85.         }
  86.     }
  87.     return l;
  88. }
  89.  
  90. // Affichange d'une liste
  91. void affichageListe(liste L)
  92. {
  93.     if(L.tete==NULL)
  94.         printf("[ ]");
  95.     else
  96.     {
  97.         printf("[");
  98.         cellule * temp=L.tete;
  99.         while(temp->suivant!=NULL)
  100.         {
  101.             printf("%d, ",temp->element);
  102.             temp=temp->suivant;
  103.         }
  104.         if(temp!=NULL)
  105.             printf("%d",temp->element);
  106.         printf("]\n");
  107.     }
  108. }
  109.  
  110. // Ajout au début d'une liste.
  111. void ajoutDebut(int x,liste * L)
  112. {
  113.  
  114.     cellule * C=(cellule *)malloc(sizeof(cellule));
  115.     C->element=x;
  116.     C->suivant=(*L).tete;
  117.  
  118.     (*L).tete=C;
  119.     (*L).taille++;
  120.     return;
  121. }
  122. liste copie( liste L)
  123. {
  124.     liste l;
  125.     l.taille = L.taille;
  126.     cellule * temp = L.tete;
  127.         while(temp!=NULL)
  128.     {
  129.         ajoutFin(temp->element, &l);
  130.         temp=temp->suivant;
  131.     }
  132.     return l;
  133.  
  134. }
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141. int main()
  142. {
  143.     liste L={NULL,0};
  144.     ajoutDebut(1,&L);
  145.     ajoutDebut(2,&L);
  146.     ajoutDebut(3,&L);
  147.     ajoutDebut(4,&L);
  148.     ajoutDebut(5,&L);
  149.     affichageListe(L);
  150.     int z=0;
  151.     z=maximum(L);
  152.     printf("%d", z);
  153.     double b;
  154.     b=moyenne(L);
  155.     printf("%lf", b);
  156.     return 0;
  157. }
Add Comment
Please, Sign In to add comment