Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define N 10
- struct elt_list
- {
- float valeur;
- struct elt_list* suiv;
- };
- void afficher_liste(struct elt_list* liste);
- void supprimer_liste(struct elt_list* liste);
- int main(int argc, char const *argv[])
- {
- int i;
- float tab[N];
- struct elt_list *teteP, *teteN;
- srand(time(0));
- for (i = 0; i < N; i++)
- {
- tab[i] = rand() % 100 - 50;
- }
- teteP = teteN = NULL;
- for (int i = 0; i < N; i++)
- {
- struct elt_list* pt_elem = (struct elt_list*) malloc(sizeof(struct elt_list));
- if (pt_elem == NULL) {
- printf("Erreur sur le malloc\n");
- exit (1);
- }
- pt_elem->valeur = tab[i];
- if (tab[i] > 0)
- {
- pt_elem->suiv = teteP;
- teteP = pt_elem;
- }
- else
- {
- pt_elem->suiv = teteN;
- teteN = pt_elem;
- }
- }
- for (i = 0; i < N; i++)
- {
- printf("L'élément %d du tableau est %0.1f\n",i+1,tab[i]);
- }
- afficher_liste(teteP);
- printf("\n");
- afficher_liste(teteN);
- printf("\n");
- supprimer_liste(teteP);
- supprimer_liste(teteN);
- return 0;
- }
- void afficher_liste(struct elt_list* liste){
- struct elt_list *tmp;
- tmp = liste;
- while (tmp != NULL)
- {
- printf("%.1f --> ",tmp->valeur);
- tmp = tmp->suiv;
- }
- }
- void supprimer_liste(struct elt_list* liste){
- struct elt_list* tmp1;
- struct elt_list* tmp2;
- tmp1 = liste;
- while (tmp1 != NULL)
- {
- tmp2 = tmp1->suiv;
- free(tmp1);
- tmp1 = tmp2;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement