Programme en C++

tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un exercice ou on me demande d'implémenter un générateur de graphes, pour cela je dois ecrire un pgm en c qui demande à l'utilisateur d'entrer le nre d'arrete et de sommet de mon graphe, et de préciser la listes des aretes et fournir l'instance obtenu dans un fichier.
j'ai un pbm au niveau de la précision de la liste des aretes.
aidez moi s'il vous plait.
Merci

7 réponses

tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
MAIS COMMENT LE FAIRE ? j'arrive à demander le nbre d'arete et le nombre de sommets, mais je dois aussi demander à l'utilisateur d'entrer les aretes qu'il aimerait formés.
et c'est là ou ça coince.
1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
C'est exactement la même chose, enfin ! Tu demande le nombre d'arêtes, puis tu fais une boucle :
pour i = 1 à nombre d'aretes faire
  demander sommet 1
  demander sommet 2
fin pour
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Tu demandes le nombre d'arêtes, puis tu fais une boucle dans laquelle tu demande les deux sommets correspondant à chaque arête...
-1
saly_inf Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   4
 
SALUT ...
si je peux me permetre...j'ai pas bien compris ton probleme
en effet, en a fait ce programme en delphi l'année passée...
-1
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
je dois ecrire un pgm ki demande à l'utilisateur d'entrer le nbre d'arrete et de sommets d'un graphe, et il doit préciser la liste des arete kilk aimerait formés:
après avoir entrer les donnés je dois les afficher et les enregistrer dans un fichier
0
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
et comment faire pour afficher la liste des arretes.
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Ben tu les stockes dans un tableau et tu les affiche avec une nouvelle boucle... T'as déjà programmé ?
-1
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   > pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention  
 
oui, je vais le faire
-1

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

Posez votre question
saly_inf Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   4
 
il faut créer une liste chaînée en utilisant les pointeurs...
@+
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Inutile, bien trop complexe pour ça ! Il a juste à déclarer un tableau du genre
int tab[nombre d'aretes][2]
0
saly_inf Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   4 > pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention  
 
oui je suis d'accord avec toi c une autre solution...un tableau de record...
@+
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > saly_inf Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai tendance aussi à trouver la solution compliquée avant la simple ^^ !
-1
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
et pourkoi? sinon comment le faire?
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135
 
Tu fais quelque chose du genre :
int nb_aretes;
cout << "Nombre d'aretes ?" << endl;
cin >> nb_aretes;

// On récupère les arêtes
int aretes[nb_aretes][2];
for ( int i=0 ; i<nb_aretes ; ++i ) {
  cout << "Arete " << i << " :";
  cout << "\nSommet origine : ";
  cin >> aretes[i][0];
  cout << "\nSommet destination : ";
  cin >> aretes[i][1];
}

// On les affiche
for ( int i=0 ; i<nb_aretes ; ++i ) {
  cout << "(" << aretes[i][0] << ", " << aretes[i][1] << ")" << endl;
}

// On les enregistre dans un fichier
ofstream fichier( "nom_fichier.txt" );
for ( int i=0 ; i<nb_aretes ; ++i ) {
  fichier << "(" << aretes[i][0] << ", " << aretes[i][1] << ")" << endl;
}

Tu peux regrouper les deux dernières boucles en une.
-1
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
merci jevais testé et je te ferai signe si je rencontre d'autres problèmes
-1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
L'allocation dynamique ne marche pas comme ça. Soit tu utilises new soit tu utilises malloc (comme en C), mais en aucun cas comme tu as fait ;)
Cdlt
0
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je peux bien déclarer un tableau statique, je le déclare sur la pile et pas sur le tas... Je ne vois pas en quoi ce code est faux ! Pourrais-tu expliquer stp ?
-1
pyschopathe Messages postés 1974 Date d'inscription   Statut Membre Dernière intervention   135 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Yep pas faux...
int nb_aretes;
cout << "Nombre d'aretes ?" << endl;
cin >> nb_aretes;

// On récupère les arêtes
int * aretes[2];
arete[0] = new int[nb_aretes];
arete[1] = new int[nb_aretes];

for ( int i=0 ; i<nb_aretes ; ++i ) {
  cout << "Arete " << i << " :";
  cout << "\nSommet origine : ";
  cin >> aretes[0][i];
  cout << "\nSommet destination : ";
  cin >> aretes[1][i];
}

// On les affiche
for ( int i=0 ; i<nb_aretes ; ++i ) {
  cout << "(" << aretes[0][i] << ", " << aretes[1][i] << ")" << endl;
}

// On les enregistre dans un fichier
ofstream fichier( "nom_fichier.txt" );
for ( int i=0 ; i<nb_aretes ; ++i ) {
  fichier << "(" << aretes[0][i] << ", " << aretes[1][i] << ")" << endl;
}

delete[] arete[0];
delete[] arete[1];
0
tfcv123 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
je n'ai pa stjrs résolu mon pbm et le code ke tu m'a donné est en C++ hors je programme en C, je ne comprend rien .
je n'ai jamais toucher ai C++
Merci
0