• # fonction caar

    Posté par . En réponse au message Affichage listes chainées en C. Évalué à 1. Dernière modification le 04 janvier 2016 à 21:21.

    Bonjour,

    Ça m'interresse de savoir comment tu as rédsolu ton problème avec caar? j'ai le même problème et je bloque dessous plusieurs jours.

    merci

    j'ai tenté ce code qui construit une liste simple.

    # include <stdio.h>
    # include <stdlib.h>
    #define nil NULL
    typedef struct node { int car ; struct node * cdr ; } node, * list ;
    void usage(char *) ;
    list cons(int car, list L);
    void putlist(list L);
    int car(list L);
    list cdr(list L);
    int main() 
    { list L = nil ;
     int k;
     for (k = 0 ; k < 4 ; k++)
     L = cons(k, L) ;
     putlist(L) ;
     printf("\n");
     printf("car : %d\n", car(L));
     putlist(cdr(L));
     printf("\n");
     printf("car(cdr(L) : %d\n", car(cdr(L)));
     printf("car(cdr(cdr L)) : %d\n",car(cdr(cdr (L))));
     printf("car(cdr(cdr(cdr L))) : %d\n",car(cdr(cdr(cdr (L)))));
     return 0 ; }
    list cons(int car, list L)
    { list new = malloc(sizeof(node)) ;
     if (! new) usage("cons : manque de RAM") ; 
     new -> car = car ;
     new -> cdr = L ;
     return new ; }
    void putlist(list L)
    { if (! L) return ; 
     printf("%d ", L -> car) ;
     putlist(L -> cdr) ; }
    int car(list L)
    {
    return L -> car ;
    }
    list cdr(list L)
    {
     return L -> cdr;
    }
    void usage(char * P) { printf("Usage : %s erreur", P), exit(1) ; }

    vous pouvez me dire comment faire pour caar ?

    Merciii

    Je