Tableau 2 dimmensions
Résolu
Qana
-
Qana -
Qana -
Bonjour, je cherche à renvoyer les valeur d'un tableau à deux dimensions. Je cherche sur internet une solution, mais sans résultat. Merci de m'indiquer ou est mon erreur.(je sais qu'il manque le prototype de la
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define constante.h
nouvelle_ligne(int xval,int yval,int parent_xval,int parent_yval,int hn,int gn,int fn);
int main()
{
int a;
a=nouvelle_ligne(1,2,3,4,5,6,7);
printf("%d\t",a);
}
int *nouvelle_ligne(int xval,int yval,int parent_xval,int parent_yval,int hn,int gn,int fn)
{
int new_row[1][8];
new_row[0][0]=1;
new_row[0][1]=xval;
new_row[0][2]=yval;
new_row[0][3]=parent_xval;
new_row[0][4]=parent_yval;
new_row[0][5]=hn;
new_row[0][6]=gn;
new_row[0][7]=fn;
return new_row;
}
2 réponses
-
Salut Qana,
Tu peux faire comme cela, en renvoyant la valeur modifiée par ta fonction en passant en paramètre le pointeur vers la variable à modifier (ici un tableau à deux dimensions), et non pas en utilisant return :
#include <stdio.h> void nouvelle_ligne(int xval, int yval, int parent_xval, int parent_yval, int hn, int gn, int fn, int row[][8]) { row[0][0] = 1; row[0][1] = xval; row[0][2] = yval; row[0][3] = parent_xval; row[0][4] = parent_yval; row[0][5] = hn; row[0][6] = gn; row[0][7] = fn; } void print_array(int row[][8]) { int n; for (n = 0; n < 8; n++) { printf("row[0][%d] = %d\n", n, row[0][n]); } } int main(void) { int new_row[1][8]; nouvelle_ligne(1, 2, 3, 4, 5, 6, 7, new_row); print_array(new_row); return 0; }
Dal -