Besoin d'aide pour un probleme avec les liste chainees
boulhech27
Messages postés2Date d'inscriptiondimanche 22 février 2009StatutMembreDernière intervention22 février 2009
-
22 févr. 2009 à 05:37
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024
-
23 févr. 2009 à 14:52
bonjou à tous.
voici mon probleme. je n'arrive pas à trouver comment chercher le nombre d'occurence dans ma liste chainée
vu que je copie des string d'un ficher et que je les met dans ma liste chainée . tout ca dans une boucle while.
comment est ce que je peux récupérer ma liste à la fin de ma boucle.
svp c'est urgent. je vous remercie d'avance pour votre aide.
A voir également:
Besoin d'aide pour un probleme avec les liste chainees
boulhech27
Messages postés2Date d'inscriptiondimanche 22 février 2009StatutMembreDernière intervention22 février 2009 22 févr. 2009 à 07:42
à ceux qui veulent m'aider voici mon code. je veux juste savoir comment lire de la liste et chercher les occurences.
je signale que je suis novice en c++
#include
#include
<fstream>
#include
<string>
#include<stdio.h>
using
namespace std;
struct
combinaison{
string mot;
int val;
};
typedef
struct liste {
struct combinaison com ;
struct liste *suivant;
}liste;
int
main(){ string monfichier,t,s;
liste *head =
new liste;
liste *p=
new liste;
head->suivant=
new liste;
p=head->suivant;
s=
"L'arbre est dans ses feuilles marilon marile, l'arbre est dans ses feuilles marilon lonle";ofstream fi(
"toto.txt");
if(!fi.is_open())cout<<
"Impossible d'ouvrir le fichier en écriture !"<<endl;
else
{
fi<<s;
}fi.close();
cout<<
"veuillez saisir le nom d'un fichier"<<endl;
cin>>monfichier;
if ( monfichier==
"toto.txt")
//verifier l existance du fichier saisi
{
cout <<
"le fichier existe et il est lisible.\n";
}
else{
cout <<
"le fichier n'existe pas.\n";
system(
"pause");
return 0;
}ifstream f(
"toto.txt");
//ouvrir le fichier en lecture
if(!f.is_open())cout<<
"Impossible d'ouvrir le fichier en lecture !"<<endl;
else
while (!f.eof())
//copier les elements du fichier dans la liste
{
liste *p=
new liste;
p=head->suivant;
liste * k=
new liste;
f>>t;
p->com.mot=t;
p->com.val=1;
cout<com.mot<<
","<com.val<<endl;
p=p->suivant;
}
BunoCS
Messages postés15472Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention25 mars 2024103 23 févr. 2009 à 14:52
Hello,
Voici ce que je ferais:
while (!f.eof()) //copier les elements du fichier dans la liste
{
f>>t;
p->com.mot=t;
p->com.val=1;
cout<com.mot<<","<com.val<<endl;
p->suivant=new liste;
p=p->suivant;
}
Comme cela, au niveau de f.close(), la liste est bien remplie et le début de la liste est pointé par head.
Ensuite, il ne reste plus qu'à la parcourir...
PS: "Et dans cet oeuf, y'a un oiseau...."
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...