Bonjour,
Je m'amuse à créer des fonctions pour jouer avec des matrices. Je voudrais avoir des fonctions pour afficher, créer et remplir des matrices. La première ne pose pas de soucis je pense mais les autres ça coince. Le 'créer' semble marcher mais le 'remplir' ça me fait un bus error... donc problème d'accès incorrecte à la mémoire mais je ne trouve pas le problème, voici mes fonctions:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void afficheMatrice(int **mat, int ligne, int colonne) { int i; for(i=0; i < ligne; i++) afficheTab(mat[i], colonne); // fonction qui affiche un tableau dont on connait la longueur (déjà testé avec des tableaux dans un autre programme) printf("\n"); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void creerMat(int **mat, int ligne, int colonne) { mat = (int**) malloc(ligne * sizeof(int *)); int tmp; for (tmp=0; tmp < ligne; tmp++) creerTab(&(mat[tmp]), colonne); //fonction qui cree des tableaux d'une certaine longueur (déjà testé avec des tableaux dans un autre programme) }Est ce que quelqu'un pourrait m'expliquer ce qui cloche?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void remplirMat(int **mat, int ligne, int colonne, int modulo) { int i; for(i=0; i < ligne;i++) { int j=0; for(j=0; j <colonne; j++) mat[i][j]=rand()%modulo; } }
Partager