Remplissage d'un fichier

Résolu/Fermé
ibtihel aaa Messages postés 1 Date d'inscription mardi 26 mars 2013 Statut Membre Dernière intervention 26 mars 2013 - 26 mars 2013 à 01:47
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 29 mars 2013 à 17:02
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 :)
A voir également:

9 réponses

ibtihel hassine
28 mars 2013 à 16:49
svp ,quel q'un me répond je suis obligé d'envoyer ce travaux aujourd'hui et merci d'avance . :)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
28 mars 2013 à 17:07
Salut.
Tu donnes trop peu d'information pour que l'on puisse t'aider...
Comment calculer le cout par exemple. Soit plus clair.
0
ibtihel aaa
28 mars 2013 à 19:25
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).
0
ibtihel aaa
28 mars 2013 à 22:03
salut ,svp Monsieur et mes dames répondez moi c'est urgent . :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
29 mars 2013 à 08:13
Et tu bloques où exactement ?
essai d'être plus concret, mais un morceau de code. Là, tu es très abstrait.
0
ibtihel aaa
29 mars 2013 à 12:50
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 :)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
29 mars 2013 à 13:53
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.
0
ibtihel aaa
29 mars 2013 à 16:10
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. :)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
29 mars 2013 à 17:02
plus clair
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 ;
M[int(s1)][int(s2)]=poid;
} 

0