Bonjour,
Je travail sur un program ou j utilise une matrise 2D, dont la longueur est fixée en début de programe(mais que j aimerai pouvoir changer en cas de besoin)
long nx=40;
long ny=40;
double matrix[nx][ny] ;
Mon programme marche, mais j essaye désormais de le séparer en plusieurs sous fichiers .c et .h de façon à le rendre plus lisible, cependant, quand je copie mes fonctions opérant sur mon tableau, en dehors de ma fonction main, comme pour la fonction :
void generate_matrix(double matrix[nx][ny],long nx,long ny,long *iseed){
long i,j ;
for (i=0;i<nx;i++){
for (j=0;j<ny;j++){
double rand=ran2(&iseed) ;
matrix[i][j]=(rand<0.5) ? (matrix[i][j]=-1.) : (matrix[i][j]=1.) ;
printf("matrix[%d][%d]=%f\n",i,j,matrix[i][j]) ;
}
}
printf("I m going out of generate matrix\n") ;
}
Il me dit qu il connait pas nx et ny.
J aimerai bien trouvé une façon de faire marcher ça sans avoir à redéfinir nx et ny dans chaque sous fichiers .c, ni avoir à changer toute ma structure en redéfinissant ma matrisse sous forme de pointeur.
Merci d avance.
Olivier
Partager