[C] taille de tableau en argument de fonction
NoOdle
-
Stupeflip Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
Stupeflip Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
j'ai un petit souci dans une de mes fonctions.
Elle reçoit comme argument un tableau carré à 2 dimensions ainsi que sa taille t.
Cette fonction est appelée récursivement à de nombreuses reprises et la valeur de t change donc beaucoup.
J'ai une erreur au niveau de l'entête de la fonction, car il n'aime pas la taille que je lui précise.
Si quelqu'un pouvait m'aider svp :)
j'ai un petit souci dans une de mes fonctions.
Elle reçoit comme argument un tableau carré à 2 dimensions ainsi que sa taille t.
Cette fonction est appelée récursivement à de nombreuses reprises et la valeur de t change donc beaucoup.
J'ai une erreur au niveau de l'entête de la fonction, car il n'aime pas la taille que je lui précise.
void remplir(int t, int matrix[t][t]){ // erreur au niveau du [t][t]
int i,j;
for(i=0;i<t;i++)
for(j=0;j<t;j++){
printf("Donnez la valeurs de la matrice a la ligne %d colone %d :\n",i+1,j+1);
scanf("%d",&matrix[i][j]);
}
}
void main()
{
int matrix1[N][N];
remplir(N, matrix1);
}
Si quelqu'un pouvait m'aider svp :)
Configuration: Windows XP Firefox 1.5.0.6
2 réponses
-
Salut,
Déclare plutôt ton tableau en **matrix et fais un double malloc/new dans ta fonction ça marchera mieux ;)
-
Un truc dans ce genre là :
#include<stdio.h> #define N 10 void remplir(int t, int **matrix){ // erreur au niveau du [t][t] int i,j; matrix=new int*[t]; for(i=1;i<=t;i++) matrix[i]=new int[t]; for(i=0;i<t;i++) for(j=0;j<t;j++){ printf("Donnez la valeurs de la matrice a la ligne %d colone %d :\n",i+1,j+1); scanf("%d",&matrix[i][j]); } } void main() { int **matrix1; remplir(N, matrix1); }