Tu devrais même dire : il ne faut pas mettre à la fois un * et un [], c'est soit l'un soit l'autre (de préférence [] puisque c'est un tableau, mais là on a le choix).
Sinon, autre problème : il est où l'autre tableau ? Il est prisonnier de la fonction, on ne pourra pas l'utiliser dans le 'main'. En fait il me semble que la fonction à écrire devrait avoir comme prototype :
void copier(int tableauOG[], int tableau_copie[], int tailleTableau);
Et puis les lignes 21-23 doivent être écrites dans une boucle (afin de pouvoir utiliser la fonction avec des tableaux de 18 millions d'éléments).
Tu devrais même dire : il ne faut pas mettre à la fois un * et un [], c'est soit l'un soit l'autre (de préférence [] puisque c'est un tableau, mais là on a le choix).
Sinon, autre problème : il est où l'autre tableau ? Il est prisonnier de la fonction, on ne pourra pas l'utiliser dans le 'main'. En fait il me semble que la fonction à écrire devrait avoir comme prototype :
void copier(int tableauOG[], int tableau_copie[], int tailleTableau);
Le problème c'est ce que si je fais cela mon "copier(tableauOG,3) ne fonctionne plus. mais ceci au final c'est un truc que je sais gérer, mon problème vient que la console me montre la case 2 à la place de la case 1 pour le tableau_copie
Oui, dans ce cas c'est soit l'étoile soit les crochets, mais pas les deux, ce qui devrait faire fonctionner ton code.
Mais voilà, ta fonction devrait pouvoir copier des tableaux de n'importe quelle taille, or ce n'est pas le cas. Tu devrais donc utiliser les boucles pour faire la copie comme tu le fait pour l'affichage.
De plus ta fonction copie ne devrait rien afficher seulement copier, l'affichage tu devrais le faire avec la fonction affiche que tu as vu dans le cours.
Et par pitié indente ton code correctement, par que là c'est horrible !
Et oui je vais faire un effort pour rendre mon code plus lisible, j'avoue que là après des heures de frustration j'en pouvais plus. Aussi merci du conseil pour les boucles
Il est également recommandé d'éviter de reprendre tes noms de variables dans tes prototypes, une copie, c'est une source vers une destination souvent nommées src et dst :
void copier(int src[], int dst[], int taille);
Ou alternativement from[], to[] etc... mais cela doit définir clairement dans quelle direction va circuler l'information :
//écrire une structure dans un fichier :
int writeStruct(MyStruct *src, FILE* dst);
//lire depuis un fichier :
int readStruct( FILE* src, MyStruct *dst);
etc... Libre à toi de choisir l'ordre des arguments, perso je le fais comme je lis : mettre(ce Truc, dans Machin), mais certaines fonction (y compris standards) prennent la destination en argument de tête et ensuite la source, et se lisent : mettre (dans Machin, ce truc).
Aussi, un argument qui s'appelle copie_tableau peut laisser entendre qu'il faut lui passer une copie de tableauOG, pas que c'est là où va stocker le résultat de la copie.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
le code FAIT le bonheur (pour moi en tous cas)
Bonhomme !! | Jeu de plateforme : Prototype.