Accueil > Forum > > > > Retourner tableau 2d
Retourner tableau 2d
samedi 24 juillet 2004 à 16:23:43 |
Retourner tableau 2d

ZogStriP
|
J'ai une fonction qui retoure un tableau 2 dimension mais ça ne marche pas : int MultiMatrice(int Matrice1[2][2], int Matrice2[2][2]) { int MatriceResultat[2][2]; int i,j,k; for(i = 0; i < 2; i++) { for(j = 0; j < 2; j++) { MatriceResultat[i][j] = 0; for(k = 0; k < 2; k++) MatriceResultat[i][j] += Matrice1[i][k] * Matrice2[k][j]; } } return MatriceResultat[2][2]; } Quand je fais : curMatrice[2][2] = MultiMatrice(tmpMatrice, Matrice); Et bien il y a n'importe quoi dans curMatrice ! ZogStriP IA pour : Incomplet de l'Ancéphale  http://blog.developpeur.org/zogstrip/
www.rubikscubor.fr.st 
#define ThatTheQuestion ((bb) || !(bb))
|
|
|
samedi 24 juillet 2004 à 17:01:51 |
Re : Retourner tableau 2d

glipper
|
Je pense qu'il faut que ta fonction retourne un pointeur vers le premier element de ton tableau... sinon ce n'est pas possible à mon avis ! ++ Glipper
|
|
samedi 24 juillet 2004 à 17:41:36 |
Re : Retourner tableau 2d
|
samedi 24 juillet 2004 à 17:49:31 |
Re : Retourner tableau 2d

glipper
|
Hum... en fait je viens de m'apercevoir que renvoyer un pointeur, ca marche bien pour un tableau simple, mais je n'y arrive pas pour un tableau à deux dimenssions... Ceci dit, je ne vois pas d'autres solutions possibles que les pointeurs......... Je continu à chercher, et je te dis si j'y arrive :) ++ Glipper
|
|
samedi 24 juillet 2004 à 18:01:37 |
Re : Retourner tableau 2d

djl
|
Réponse acceptée !
ZogStriP > litt un cours sur les tableaux et tu verra que ce que tu ecris n'a pas de sens, on peut pas affecter un tableau (ce n'est pas une variable)
on ne peut pas non plus retourner un tableau par valeur, seulement son adresse convertie en pointeur, et ta matrice MatriceResultat n'existe pas dans le contexte appelant donc tu dois passer la matrice resultat en paramettre à la fonction
void MultiMatrice(const int Matrice1[][2], const int Matrice2[][2], int MatriceResultat[][2]) { int i,j,k; for(i = 0; i < 2; i++) { for(j = 0; j < 2; j++) { MatriceResultat[i][j] = 0; for(k = 0; k < 2; k++) MatriceResultat[i][j] += Matrice1[i][k] * Matrice2[k][j]; } }
}
glipper > un tableau 2d est une collection d'elements contigus, tu peut tres bien retourner un pointeur dessus (a condition qu'il existe dans le contexte appelant)
|
|
dimanche 25 juillet 2004 à 21:02:22 |
Re : Retourner tableau 2d

leprov
|
euh....un tableau est deja un pointeur. lorsque tu ecris : void MultiMatrice(const int Matrice1[][2], const int Matrice2[][2], int MatriceResultat[][2])
tu passe deja des références a tes tableaux. effectivement, la solution proposée par djl est la bonne
|
|
dimanche 25 juillet 2004 à 21:02:35 |
Re : Retourner tableau 2d

leprov
|
euh....un tableau est deja un pointeur. lorsque tu ecris : void MultiMatrice(const int Matrice1[][2], const int Matrice2[][2], int MatriceResultat[][2])
tu passe deja des références a tes tableaux. effectivement, la solution proposée par djl est la bonne. sinon utilise des vectors si tu es en c++
|
|
lundi 26 juillet 2004 à 20:14:10 |
Re : Retourner tableau 2d

djl
|
non, un tableau n'est pas un pointeur, mais la conversion se fait implicitement
|
|
lundi 26 juillet 2004 à 21:23:59 |
Re : Retourner tableau 2d

leprov
|
bon alors je reformule: quand on ecrit TYPE fonction (TYPE tableau []) { //code }
on passe la référence du tableau et non pas le talbeau (et effectivement personne ne passe un taleau par reference ou par pointeur, on n'a jamais appris a personne a faire comme ca, cest pas sans raisons....). de meme, lorsque écrit tableau [i] le compilteur interprete comme "adresse du premier élément du tableau décalé de i * taille des objets du tableau".
|
|
lundi 26 juillet 2004 à 21:28:11 |
Re : Retourner tableau 2d

leprov
|
aufait pr expliquer un peu l'erreur qu'a commise zogstrip, quand tu retourne "return MatriceResultat[2][2];", tu retourne l'adresse du premier élément de ton tableau, codée sur 4 octets, tu stock cette adresse dans un int puisque ton parametre de retour est un int. donc tu as retournée une adresse stockée dans un int. tu as récupéré l'adresse de ton tableau dans un entier. essaie de reprendre ton code, et de faire cout << multimatrice (mat1[][], mat2[][]); tu verras le résultat....
|
|
Cette discussion est classée dans : int, tableau, for, retourner, matriceresultat
Répondre à ce message
Sujets en rapport avec ce message
C ANSI allocation dynamique de tableau [ par pedu ]
Ce petit pro beug en sortie, pourquoi et que faire ?#include #include int (*pi)[1][1]; /* pointeur sur un tableau d'entiers */void main(void){ unsi
Problem Affichage de mon Tableau [ par Orezza ]
salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le
Création de 2 tableaux dynamik à 2D [ par flopflopp ]
Bonjour, je voudrais soumettre un petit problème en C++, j'ai une simple fonction qui crée un tableau dynamique à 2 dimensions, le rempli avec des 1 e
tableau [ par imanedaoudi ]
Salut,Je veux récuperer le tableaux triée sans faire return, avec ce programme je recupere le tableau non trier ,comment faire pour recuperer le tab t
Pb de tableau et de listbox [ par sran_isback ]
Bonjour ! j'ai un ptit probléme concernant un tableau a afficher dans une listbox! j'aimerais bien qu'il m'affiche les nombres de 1 à cents mais toute
Trie bulle [ par afrikanoo ]
#include #include void main(){ clrscr(); int n; <font color="#d3d3d
problème avec l'initialision d'un tableau [ par khen ]
Bonjour,voila j'ai un petite problème avec l'initialisation de mon tableau , je vous explique le problèmeon a un tableau de 3 dimension appelé tab et
Allocation dynamique tableau 2D : erreur de seg [ par noname001 ]
Bonjour à tous, [^^happy13] j'aimerais faire appel à vos lumières concernant deux codes. Ils ont tous les deux pour but de créer un tableau 2D dynami
passage de tableau à 3 dimensions en paramètre à une fonction [ par snake57 ]
Bonjour à tous, J'ai un tableau à 3 dimensions que je veux afficher à partir d'une fonction. J'ai donc créé une fonction mais celle-ci affiche...n'im
creation de plusieur tableau [ par foxwar ]
Bonjour, j'aimerai cree un programme ki permet de cree plusieur tableau du different taille et les afficher g ecirt ce programme mai je c pa ce k'il
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|