Retourner au contenu associé (entrée de forum : liste de liste)
Posté par méqueline le 06 janvier 2016 à 14:55. En réponse au message liste de liste. Évalué à 1. Dernière modification le 06 janvier 2016 à 17:56.
Oui j'ai compris toute les notions de lisp et pour ma fonction j'ai essayé ça
#include <stdio.h> #include <stdlib.h> #define nil NULL typedef struct node { int car ; struct node * cdr ; } node, * list ; typedef struct node2 { struct node *Liste ; struct node2 * cdr2 ; } node2, * liste ; void usage(char *) ; list cons(int car, list L); void putlist(list L); list car(liste L); int car2(list L); list cdr(list L); liste cons2(struct node * Liste, liste L); void putlist2(liste L); liste cdr2(struct node2 * Liste); #define caar(x) car2(car(x)) #define cadr(x) car(cdr(x)) int main() { list L; //liste j; int k; for (k = 0 ; k < 4 ; k++) L = cons(k, L); putlist(L) ; //putlist(caar(j)); /*printf("\n"); putlist(car(j)); //printf("car(L) : %d\n", car(L)); printf("\ncdr(j) :"); putlist2(cdr2(j)); printf("\ncaar(L) : %d\n", caar(j)); //putlist(caar(j)); printf("\n"); printf("cadr(L) : %d\n", cadr(L)); putlist2(caar(L)); printf("caar(L) : %d\n", caar(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 (list)new ; } liste cons2(struct node * Liste, liste L) { liste nouveau = malloc(sizeof(node2)) ; if (! nouveau) usage("cons : manque de RAM") ; nouveau -> Liste = Liste ; nouveau -> cdr2 = L ; return nouveau ; } void putlist(list L) { if (! L) return ; printf("%d ", L -> car) ; putlist(L -> cdr) ; } void putlist2(liste L) { if (! L) return ; putlist(L -> Liste) ; putlist2(L -> cdr2) ; } list car(liste L) { return L -> Liste ; } int car2(list L) { return L -> car ; } list cdr(list L) { return L -> cdr; } liste cdr2(struct node2 * Liste) { return Liste -> cdr2; } void usage(char * P) { printf("Usage : %s erreur", P), exit(1) ; }
mais mon problème c'est dans main je ne vois pas comment crée une liste de liste.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# liste de liste
Posté par méqueline . En réponse au message liste de liste. Évalué à 1. Dernière modification le 06 janvier 2016 à 17:56.
Oui j'ai compris toute les notions de lisp et pour ma fonction j'ai essayé ça
mais mon problème c'est dans main je ne vois pas comment crée une liste de liste.