View difference between Paste ID: E4X4hyG8 and rpPCPJSq
SHOW: | | - or go back to the newest paste.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <time.h>
4
#define N   10
5
6
struct elt_list
7
{
8
    float valeur;
9
    struct elt_list* suiv;
10
};
11
12
void afficher_liste(struct elt_list* liste);
13
void supprimer_liste(struct elt_list* liste);
14
15
int main(int argc, char const *argv[])
16
{
17
    int i;
18
    float tab[N];
19
    struct elt_list *teteP, *teteN;
20
    srand(time(0));
21
    
22
    for (i = 0; i < N; i++)
23
    {
24
        tab[i] = rand() % 100 - 50;
25
    }    
26
    teteP = teteN = NULL;
27
28
    for (int i = 0; i < N; i++)
29
    {
30
        struct elt_list* pt_elem = (struct elt_list*) malloc(sizeof(struct elt_list));
31
        if (pt_elem == NULL) {
32
            printf("Erreur sur le malloc\n"); 
33
            exit (1);
34
        }
35
        pt_elem->valeur = tab[i];
36
37-
        if (tab[i] > 0)
37+
        if (tab[i] >= 0)
38
        {
39
            pt_elem->suiv = teteP;
40
            teteP = pt_elem;   
41
        }
42
        else
43
        {
44
            pt_elem->suiv = teteN;
45
            teteN = pt_elem;   
46
        }
47
    }
48
49
    for (i = 0; i < N; i++)
50
    {
51
        printf("L'élément %d du tableau est %0.1f\n",i+1,tab[i]);
52
    }
53
    
54
    afficher_liste(teteP);
55
    printf("\n");
56
    afficher_liste(teteN);
57
    printf("\n");
58
59
    supprimer_liste(teteP);
60
    supprimer_liste(teteN);
61
    return 0;
62
}
63
64
void afficher_liste(struct elt_list* liste){
65
    struct elt_list *tmp;
66
    tmp = liste;
67
    while (tmp != NULL)
68
    {
69-
        printf("%.1f --> ",tmp->valeur);
69+
        printf("%.1f <-- ",tmp->valeur);
70
        tmp = tmp->suiv;
71
    }
72
}
73
74
void supprimer_liste(struct elt_list* liste){
75
    struct elt_list* tmp1;
76
    struct elt_list* tmp2;
77
78
    tmp1 = liste;
79
    while (tmp1 != NULL)
80
    {
81
        tmp2 = tmp1->suiv;
82
        free(tmp1);
83
        tmp1 = tmp2;
84
    }
85
}