Lecture d'un matrice adjacence depuis un fichier

SHILI0 Messages postés 8 Statut Membre -  
 Utilisateur anonyme -
salut,
je veux lire une matrice adjacence depuis un fichier et la stocké dans un autre matrice dans un autre fichier
voila mon code dans lequel je veux vérifier comment lire la matrice depuis le fichier d'entré donné??
soit disant on a un fichier file-in.txt qui contient la matrice adjacence suivante
0 1 1
1 0 1
1 1 0

comment récupérer cette matrice???
#include <iostream> // Inclut la bibliothèque iostream (affichage de texte)
#include <cstring>
#include <fstream> //bibliotheque pour la manipulation des fichiers
#include <sstream> //bibliotheque pour la conversion chaine de caractere/entier
#include <malloc.h> //pour l'allocation dynamique de l'espace memoire reservé pour la matrice

using namespace std; // Indique quel espace de noms on va utiliser

int main()
{
string out_fichier;
string fichier;
cout <<"Nom du fichier d'entree:";
cin >>out_fichier;
cout <<"Nom du fichier de sortie:";
cin >>fichier;
cout <<endl;

ifstream f1(out_fichier.c_str()); //creation d'un flux de lecture
if (!f1)
{
cout << "Impossible d'ouvrir le fichier!" << endl;
}
else
{

int i,j;
int n;

int** mat = NULL ;

mat = (int**) new int * [n];
for ( i=0; i<n; i++ )
{
mat [i] = new int [n];

for ( j=0; j<n; j++){
mat[i][j]=0;
}
}
f1.open(out_fichier.c_str());
for ( i=0; i<n; i++ )
for ( j=0; j<n; j++ )
mat[i][j]=matrice[i][j];
f1.close();

ofstream f2(fichier.c_str());

for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
{
cout <<mat[i][j] <<" "; //affichage
f2 <<mat[i][j] <<" "; //enregistrement
}
cout <<endl;

}}

1 réponse

  1. Utilisateur anonyme
     
    je te donne l'algo, à toi de traduire :

    initialiser tableau 3*3 entier
    ouvrir fichier en mode lecture
    pour chaque ligne du fichier //3 pour ta part 
    	pour chaque élément //3 encore
    		ajouter dans la colonne correspondante //1 2 ou 3
    	fin
    fin
    fermer fichier
    
    afficher résultats 
    libérer fichier
    


    pour obtenir le code exacte il te faudra chercher

    PS : n'oublie pas que tu peux "splitter" tes lignes en fonction d'un séparateur, tel que espace ou tabulation.

    bne aprem
    naga
    0