Bonjour,
Je cherche désespéremment de l'aide pour afficher un tableau à 2 dimensions ...
Je commence par le déclarer ds le main, ensuite je le remplis à partir d'un fichier (fct charge matrice), et je veux l'afficher (fct affiche matrice)
Ms je n'arrive pas à afficher le tableau ! Je pense que le problème vient de la fonction d'affichage ms je ne comprend pas pourquoi ...
Lorque j'affiche le tableau ds la fonction chargematrice (et que j'enlève affiche matrice) cela marche très bien ...
Si quelqu'un avait la solution ce serait génial ! Merci bcp !
int ChargeMatrice(FILE * fichier, int **T)
{
int nbSommets, i, j ;
/* Verifie que le fichier a bien ete ouvert */
if(fichier == NULL)
{
printf("Erreur lors de l'ouverture du fichier\n") ;
return -1;
}
/* Récupère le nombre de sommets */
fscanf(fichier, "%d\n", &nbSommets) ;
/* Reservation de la place pour le tableau
T = (int **) malloc (nbSommets * sizeof(int *)) ;
for(i=0; i<nbSommets*nbSommets; i++)
T[i] = (int *) malloc (nbSommets * sizeof(int *)) ;
/* Récupère les données à mettre ds le tableau */
for(i=0 ; i<nbSommets ; i++)
for(j=0 ; j<nbSommets ; j++)
{
fscanf(fichier, "%d ", &T[i][j]) ;
if(j == nbSommets -1)
fscanf(fichier, "\n") ;
}
fclose(fichier) ;
return 1;
}
void AfficheMatrice(int **Mat, int nbSommets)
{
int i, j ;
for(i=0 ; i<nbSommets ; i++)
{
for(j=0 ; j<nbSommets ; j++)
printf("%d ", Mat[i][j]) ;
printf("\n") ;
}
}
int main(int argc, char ** argv)
{
int **T ;
/* Ouvre le fichier qui contient les informations à mettre ds le tableau */
FILE * fichier = fopen("matrice.txt", "r") ;
ChargeMatrice(fichier, T) ;
AfficheMatrice(T, nbSommets) ;
return 0 ;
}
