Remplissage d'un fichier
Résolu
ibtihel aaa
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, pouvez vous m'aidez pour remplir un fichier d'entrée (en c++) ,ce fichier contient les sommets et les couts d'un graphe complet par exemple on a un graphe G de 3 sommets 1,2,3
1,2 13 c'est a dire le cout de l'arête entre le sommet 1 et le sommet 2 est égale à 13 etc
2,3 15 ...........................................
1,3 56.....................................................
et merci d'avance :)
1,2 13 c'est a dire le cout de l'arête entre le sommet 1 et le sommet 2 est égale à 13 etc
2,3 15 ...........................................
1,3 56.....................................................
et merci d'avance :)
A voir également:
- Remplissage d'un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
9 réponses
Salut.
Tu donnes trop peu d'information pour que l'on puisse t'aider...
Comment calculer le cout par exemple. Soit plus clair.
Tu donnes trop peu d'information pour que l'on puisse t'aider...
Comment calculer le cout par exemple. Soit plus clair.
bonsoir,
les coûts doivent être initialement entrée par l'utilisateur,(initialement le graphe est non orienté).par la suite, chaque arête non orienté est remplacée par deux arêtes orientées et le coût de l'arête entre les deux sommets P et Q est égal à Brut(p,q)*100/Brut(p,p).
les coûts doivent être initialement entrée par l'utilisateur,(initialement le graphe est non orienté).par la suite, chaque arête non orienté est remplacée par deux arêtes orientées et le coût de l'arête entre les deux sommets P et Q est égal à Brut(p,q)*100/Brut(p,p).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et tu bloques où exactement ?
essai d'être plus concret, mais un morceau de code. Là, tu es très abstrait.
essai d'être plus concret, mais un morceau de code. Là, tu es très abstrait.
c'est ça mon code je sais pas comment remplie la matrice a partir de fichier qui est entrain de lire ligne par ligne
#include <string.h>
#include <malloc.h>
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
Using namespace std ;
Int main(void)
{
double s1 ,s2 ,poid ;
int n;
cout << "Entrez un nombre positif : ";
cin >> n;
if (n<0) cerr << "Erreur: Le nombre " << n
<< " n'est pas positif " << endl;
else cout << "Vous avez entré " << n << endl;
return 0;
M= malloc (sizeof (int n)) ;
For ( int i=0 ;i<n ;i++ )
{
M[i]= malloc (sizeof (n)) ;
For ( int j=0 ;j<n ;j++ )
{
M[i][j]=0
}
}
ofstream flux ;
ofstream fichier( "donnee.txt ") ;
If (fichier)
{
for(int k=0 ; k<n ;k++ )
{
cout << "Tapez la valeur de s1 : ";
cin >> s1;
cout << "Tapez la valeur de s2 : ";
cin >> s2;
cout << "Tapez la valeur de poid : ";
cin >> poid;
}
fichier<< s1 <<" "<< s2 <<" "<< poid <<endl ;
}
Else
{
cerr « " impossible d'ouvrir le fichier " ;
}
fichier.close();
Return 0 ;
}
ifstream fichier("donnees.txt");
if(fichier)
{
//L'ouverture s'est bien passée. On peut donc lire
while(fichier) //Tant qu'on n'est pas a la fin
{
string ligne;
getline(fichier, ligne); //On lit une ligne
cout << ligne << endl; //Et on l'affiche dans la console
}
}
else
{
cout << "ERREUR: Impossible d'ouvrir le fichier en lecture." << endl;
}
fichier.close();
return 0;
}
svp j'ai besoin de votre réponse et merci b1 :)
#include <string.h>
#include <malloc.h>
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
Using namespace std ;
Int main(void)
{
double s1 ,s2 ,poid ;
int n;
cout << "Entrez un nombre positif : ";
cin >> n;
if (n<0) cerr << "Erreur: Le nombre " << n
<< " n'est pas positif " << endl;
else cout << "Vous avez entré " << n << endl;
return 0;
M= malloc (sizeof (int n)) ;
For ( int i=0 ;i<n ;i++ )
{
M[i]= malloc (sizeof (n)) ;
For ( int j=0 ;j<n ;j++ )
{
M[i][j]=0
}
}
ofstream flux ;
ofstream fichier( "donnee.txt ") ;
If (fichier)
{
for(int k=0 ; k<n ;k++ )
{
cout << "Tapez la valeur de s1 : ";
cin >> s1;
cout << "Tapez la valeur de s2 : ";
cin >> s2;
cout << "Tapez la valeur de poid : ";
cin >> poid;
}
fichier<< s1 <<" "<< s2 <<" "<< poid <<endl ;
}
Else
{
cerr « " impossible d'ouvrir le fichier " ;
}
fichier.close();
Return 0 ;
}
ifstream fichier("donnees.txt");
if(fichier)
{
//L'ouverture s'est bien passée. On peut donc lire
while(fichier) //Tant qu'on n'est pas a la fin
{
string ligne;
getline(fichier, ligne); //On lit une ligne
cout << ligne << endl; //Et on l'affiche dans la console
}
}
else
{
cout << "ERREUR: Impossible d'ouvrir le fichier en lecture." << endl;
}
fichier.close();
return 0;
}
svp j'ai besoin de votre réponse et merci b1 :)
M= malloc (sizeof (int n)) ;
n'importe quoi ! ce n'est pas commen ça qu'il faut faire. en plus, en C++, on utilise new et pas malloc:
M=new int*[n];
Tu as une matrice n*n, comment veux tu la remplir avec 3 données ?
je ne vois pas la déclaration de M.
n'importe quoi ! ce n'est pas commen ça qu'il faut faire. en plus, en C++, on utilise new et pas malloc:
M=new int*[n];
Tu as une matrice n*n, comment veux tu la remplir avec 3 données ?
je ne vois pas la déclaration de M.
voici une autre explication pour mon problème :
pour un graphe de trois sommets le fichier est de cette forme
1,1 10
1,2 30
1,3 43
2,2 12
2,1 24
2,3 60
3,3 70
3,1 68
3,2 90
1 ,2 et 3 sont les sommets et 10,30,43....90 sont les coûts respectivement entre les arêtes (1,1) , (1,2),(1,3)...(3,2)
comment après une lecture du fichier peut-on remplir une matrice contenant les coûts entre les sommets on respectant l'ordre présenté par le fichier .par exemple M[1][1]=10. :)
pour un graphe de trois sommets le fichier est de cette forme
1,1 10
1,2 30
1,3 43
2,2 12
2,1 24
2,3 60
3,3 70
3,1 68
3,2 90
1 ,2 et 3 sont les sommets et 10,30,43....90 sont les coûts respectivement entre les arêtes (1,1) , (1,2),(1,3)...(3,2)
comment après une lecture du fichier peut-on remplir une matrice contenant les coûts entre les sommets on respectant l'ordre présenté par le fichier .par exemple M[1][1]=10. :)