passage d'un tableau dans une fonction - C - Programmation
Marsh Posté le 18-04-2008 à 21:13:10
Bah, au hasard, je dirais la ligne 19. Bon, ta fonction calcule est foireuse, ce qui est étrange car ta fonction affiche() est correcte. Pourquoi ne pas t'être calqué sur celle-ci pour écrire calcule() ?
Marsh Posté le 19-04-2008 à 10:47:22
Tout à ait d'accord avec l'intervenant précédent, il aurait préférable de calquer calcul sur affiche.
Sinon, je crois qu'au lieu de
*p[0][0]=0; |
il suffirait d'avoir
p[0][0]=0; |
Marsh Posté le 19-04-2008 à 11:17:39
non :
p[ 0 + 2 * 0 ] = 0; |
pour acceder à la case (i,j) depuis un int*, c'est
p[ i + 2 * j ]; |
Marsh Posté le 19-04-2008 à 11:20:21
précision : ici le 2 vient du type int[3][2]
en règle générale, mieux vaut passer un tableau en paramètre plutôt qu'un int*, histoire que ce soit + clair et que ce soit le compilo qui fasse les calculs d'indice. Et évite de passer la première dimention, elle ne sert à rien.
void affiche(int tableau[][2]) |
Marsh Posté le 19-04-2008 à 13:50:15
Un compilo bien réglé devrait râler ici
Code :
|
comme déjà signalé
et là
Code :
|
car le prototype de calcul est
void calcule(int *p)
Marsh Posté le 21-04-2008 à 10:20:53
bon vous pourriez pas etre plus clair parce que c'est pas que je comprend rien mais bon ..... je suis débutant aussi !!! vous pourriez pas me mettre ce que je dois écrire explicitement ?????
Marsh Posté le 21-04-2008 à 10:23:01
Le forum n'est pas la pour resoudre les exercices a la place de celui qui doit les faire, mais pour expliquer ce qui ne va pas. Voir le reglement du forum a ce sujet.
A+,
Marsh Posté le 21-04-2008 à 11:54:04
non mais oh t'es fou ou quoi ? je dois faire un démineur et j'ai un probleme pour faire une fonction. j'ai pas bien capté ce qu'on ecrit les autres!! j'ai parler d'un démineur ?? j'ai pas demandé de me faire le programme du demineur non ??? non alors arrete d'agresser les gens espece d'abruti tu connait pas ma vie !!!!!!!!!
A+
Marsh Posté le 21-04-2008 à 13:04:13
benjolebarbar a écrit : non mais oh t'es fou ou quoi ? je dois faire un démineur et j'ai un probleme pour faire une fonction. j'ai pas bien capté ce qu'on ecrit les autres!! j'ai parler d'un démineur ?? j'ai pas demandé de me faire le programme du demineur non ??? non alors arrete d'agresser les gens espece d'abruti tu connait pas ma vie !!!!!!!!! |
Bon ben je crois qu'il n'y a plus rien à ajouter !
Marsh Posté le 21-04-2008 à 16:57:33
# void calcule(int *p)
# {
# *p[0][0]=0;
Il faut que tu passes un tableau en paramètre comme a dit trap d
Marsh Posté le 21-04-2008 à 17:15:40
benjolebarbar a écrit : non mais oh t'es fou ou quoi ? je dois faire un démineur et j'ai un probleme pour faire une fonction. j'ai pas bien capté ce qu'on ecrit les autres!! j'ai parler d'un démineur ?? j'ai pas demandé de me faire le programme du demineur non ??? non alors arrete d'agresser les gens espece d'abruti tu connait pas ma vie !!!!!!!!! |
A+
Marsh Posté le 18-04-2008 à 17:20:53
voila mon problème : je fais un programme des plus basiques avec une tableau à deux dimensions et je voudrais y calculer quelquechose mais dans une fonction sauf que au moment de compiler on me dit : erreur : la valeur indicée n'est ni un tableau ni un pointeur.
alors voila mon programme :