Besoin d'aide svp:0 erreur,pourtant il ne compile pas!!

Signaler
Messages postés
2
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
15 juillet 2010
-
Messages postés
2
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
15 juillet 2010
-
#include <stdio.h>
#include <stdlib.h>


void alloc_mat(int** mat,int nl,int nc)
{
int i;
mat=(int**)malloc(nl*sizeof(int*));
for(i=0;i<=nl;i++)
mat[i]=(int*)malloc(nc*sizeof(int));
}


void saisie_mat(int** M,int nl,int nc)
{
int i,j;

for(i=0;i<nl;i++)
for(j=0;j<nc;j++)
{
printf("\n Entrez l'élémnt d'indice %d , %d : ",i,j);
scanf("%d",&M[i][j]);
}
}

void Affichage_mat(int** M,int nl,int nc)
{
int i,j;

for(i=0;i<nl;i++)
{
for(j=0;j<nc;j++)
printf("%d\t",M[i][j]);
printf("\n");
}

}


void main()
{
int** mat;
int nl=3,nc=3;
alloc_mat(mat,nl,nc);
saisie_mat(mat,nl,nc);
Affichage_mat(mat,nl,nc);

}


ce simple code me génère une erreur quand je le compile pourtant il n'y a pas d'erreur
l'erreur en question :General protection exception.
si quelqu'un connait la raison il m'aidera beacoup.
merci !!

2 réponses

Messages postés
416
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
19 décembre 2013
2
Salut,


ton code est mal fait, tu ferais des memory leaks meme si ton code roulait.

Fais attention aux arguments ( a leur signature) et dis toi que tu alloues un tableau a 2D, alors crees toi une fonction pour ca , ce qui serait plus simple pour toi. Une fonction du style:

void** creerTableau2D(const unsigned tailleElement, const unsigned nombreDeLignes, const unsigned nombreDeColonnes);

et bien entendu une fonction de destruction :

void detruireTableau2D(void **tableau2D, const unsigned nombreDeLignes);

Cela evitera ta fonction alloc_mat qui est mal codee, et serais plus clair un peu dans ton code:

int** mat = (int**)creerTableau2D(sizeof(int), 25, 50);




//plus tard
detruireTableau2D(mat,25);


Le reste des autres fonctions ne me cause pas de pb, juste a faire attention.

bonne continuation.

http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
Messages postés
2
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
15 juillet 2010

merci ça ma donner des idées.
merci encore .