229 résultats trouvés
Revenir à la recherche avancée
Tu as une belle erreur avec le nom des chaines : ton code corrige : void parcourirREP(char *nomREP) { DIR *rep; struct dirent* El; struct stat Infos; rep=opendir(nomREP); if(rep==NULL) { printf("Fail open %s\n", nomREP); /*affichera un message d'erreur spécifique au PATH*/ } else { while (...
- par joel76
- 13 Avr 2014, 15:24
-
- Forum: ϟ Informatique
- Sujet: Parcourir une arborescence avec la norme POSIX1, C ANSI
- Réponses: 7
- Vues: 919
int tri(Tree* t){ if(t==NULL) return 0; printf("%d",t->value); int sum = tri(t->left); printf("%d",sum); int sum2 = tri(t->right); int total = sum+sum2+t->value; printf("%d",total); return total; } Pour revenir à ce problème, j'ai réussi à dérécursiver ce bout de prog ...
- par joel76
- 09 Avr 2014, 14:11
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
J'ai recopié mon code en oubliant que tu cachais les pointeurs ... Pour ce qui de la dérécursification de fatal_error, pour le moment je sèche, et la réponse n'est pas pour demain, car je suis absent pendant quelques jours A+ EDIT en y refléchissant, j'ai l'impression qu'il faut gérer de une pile de...
- par joel76
- 26 Mar 2014, 23:53
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
fatal_error a écrit:@Joel76
non, les printf sont pas facultatifs.
Comme d'hab j'ai lu trop vite :mur:
[EDIT] du coup c'est un peu plus coton !!!
- par joel76
- 26 Mar 2014, 16:18
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
Merci à tous pour ces réponses; c'est bien plus clair pour l'algo désormais, mais je dois bien avouer que je suis resté coincé quand même parce que j'ai pas réussi à implémenter une pile de noeud...tant pis je verrais ça plus tard en tp ;) Par exemple ça devrait faire l'affaire typedef struct elpil...
- par joel76
- 26 Mar 2014, 14:25
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
Il est plus pratique de renvoyer un noeud plutôt que de modifier ce noeud. J'aurais plutôt écrit quelque chose du style node *addNode(node *tree) Maintenant, je pense qu'il y a une erreur de copier/coller : le code indenté void addNode(node **tree) { node *tNode; node *tTree = *tree; node *e = mallo...
- par joel76
- 26 Mar 2014, 12:13
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
fatal_error a écrit:ouais ok
ca veut dire que j'insère à la fin (push_back) donc sur la droite et que je dépile à gauche...
alors qu'en fait tu insères à gauche et dépile à gauche
Tu utilises une file alors, pas une pile.
- par joel76
- 24 Mar 2014, 10:05
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
Si si, ça marche : considérons l'arbre A B E C D F G <---C,D,F,G sont NULL Soit L la pile, ( tete à gauche <<== je ne comprends pas ce que tu veux dire) L=[A] on depile A: L=[] A non NULL, L=[EAB] <== Non erreur, c'est une pile et j'empile d'abord la feuille droite donc L = [BAE] Depile B, L = [AE]....
- par joel76
- 24 Mar 2014, 09:32
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
Si on regarde bien la structure d'un arbre, on voit qu'on n'écrit la valeur d'un noeud qu'une fois que le sous-arbre gauche ait été complètement exploré, donc quand on a visité la partie la plus à droite du sous arbre gauche, qui est NULL. On n'ecrit la valeur d'un noeud qu'après avoir rencontré NUL...
- par joel76
- 24 Mar 2014, 00:38
-
- Forum: ϟ Informatique
- Sujet: Trier un arbre
- Réponses: 38
- Vues: 1099
if(S_ISDIR(Info.st_mode)!=0) /*Si c'est un répertoire*/ { strcat(cour->d_name,"/"); strcat(R,cour->d_name); octetParfichier(R); } Oui, il n'est pas judicieux du tout de modifier des données "sytème" ( strcat(cour->d_name, "/") ) Il vaut mieux faire if(S_ISDIR(Info.st_m...
- par joel76
- 20 Mar 2014, 18:19
-
- Forum: ϟ Informatique
- Sujet: Afficher une arborescence et le nombre d'octet associé
- Réponses: 4
- Vues: 609
Contrairement a une idée répandue, scanf ne vide pas le buffer de lecture, scanf lit un flux d'entrée et convertit les données tapées suivant le format indiqué. La lecture s'arrête dès que toutes les données ont été lues ou qu'une conversion a échoué (c'est pour cela qu'il faut toujours tester le re...
- par joel76
- 09 Mar 2014, 00:13
-
- Forum: ϟ Informatique
- Sujet: L'exécution passe outre une entrée
- Réponses: 7
- Vues: 832
Essaie ainsi : char continuer='o'; while(continuer=='o') { /*Traitement*/ printf("Voulez vous continuer ? (o/n) scanf("%c",&continuer); getchar(); } :zen: Non, la bonne méthode est donnée ici : void clean_stdin(void) { int c; do { c = getchar(); } while (c != '\n' && c !=...
- par joel76
- 07 Mar 2014, 19:38
-
- Forum: ϟ Informatique
- Sujet: L'exécution passe outre une entrée
- Réponses: 7
- Vues: 832
J'ai fait des traces et l'erreur se produit bien sur un problème similaire; en ce qui concerne le t* je fais un calloc; mais là pour val3 pourquoi ça devrait coincer ? Le compilo ne détecte rien à la compilation Le programmeur C est supposé savoir ce qu'il fait , la compilation ne s'intéresse qu'à ...
- par joel76
- 09 Fév 2014, 17:43
-
- Forum: ϟ Informatique
- Sujet: Mes amis les erreurs de segmentation ;)
- Réponses: 35
- Vues: 1183