Tableau 2 dimmensions

Résolu
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

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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
  2. Qana
     
    Merci, ça répond à mes questions
    0