Tableau 2 dimmensions

Résolu/Fermé
Qana - 8 janv. 2014 à 17:38
 Qana - 8 janv. 2014 à 22:09
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;
}
A voir également:

2 réponses

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
8 janv. 2014 à 19:35
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
2
Merci, ça répond à mes questions
0