Aidez moi c vraiment urgent

ylovechichi Messages postés 41 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 26 septembre 2005 - 12 juin 2005 à 02:06
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009 - 15 juin 2005 à 08:32
slt tout le monde,je voudrais faire une comparaison entre 2 fichiers.bon je vais vous expliquer cke je veux exactement. j'ai 2 fichiers ville1 et ville2 je lai ouvre en lecture je parcours les valeurs du fichier1 et fichier2 si je trouve une valeur differente je stock ds un autre fichier ke j ouvre en écriture la valeur du fichier1.

par exemple:
fichier ville1 :16y 56 98p 1k
fichier ville2 :78a 9s 2y 56
fichier comp :16y 98p 1k
le fichier comp est le résultat ke je voudrais avoir

merci d'avance

int comparer(char trad_ville1[10],char trad_ville2[10])
{
int i,j;

cout<<"comparaison"<<endl;
ofstream fichier_comp("comparaison.txt",ios::app);
ifstream fichier_ville1("ville1.txt");
if (!fichier_ville1)
{
cerr << "Impossible d'ouvrir le fichier!" << endl;
return (-1);
}

ifstream fichier_ville2("ville2.txt");
if (!fichier_ville2)
{
cerr << "Impossible d'ouvrir le fichier!" << endl;
return (-1);
}

while (!fichier_ville1.eof())
{
fichier_ville1>>trad_ville1;

while (!fichier_ville2.eof())
{
fichier_ville2>>trad_ville2;

if (trad_ville1[i]!=trad_ville2[j])
{
j++;
cout<<trad_ville1[i];
fichier_comp<<trad_ville1;
}

i++;

}
}

fichier_ville1.close();
fichier_ville2.close();
fichier_comp.close();

}

7 réponses

cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
12 juin 2005 à 20:50
... et où est le problème le code que tu as donnée n'est pas bon ?
0
ylovechichi Messages postés 41 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 26 septembre 2005
12 juin 2005 à 23:08
int comparer()
{
int i,j;



cout<<"comparaison"<<endl;
ofstream fichier_comp("comparaison2.txt",ios::out|ios::app);
ifstream fichier_ville1("ville1.txt",ios::in);
if (!fichier_ville1)
{
cerr << "Impossible d'ouvrir le fichier!" << endl;
return (-1);
}


ifstream fichier_ville2("ville2.txt",ios::in);
if (!fichier_ville2)
{
cerr << "Impossible d'ouvrir le fichier!" << endl;
return (-1);
}


while (!fichier_ville1.eof())


{


i=0;
fichier_ville1>>trad_ville1;
while ( !fichier_ville2.eof() )
{
j=0;
fichier_ville2>>trad_ville2;


if (trad_ville1[i]!=trad_ville2[j])
j++;

}


cout<<trad_ville1<<"\t";
fichier_comp<<trad_ville1<<"\t";
i++;


}
fichier_ville1.close();
fichier_ville2.close();
fichier_comp.close();
}

j modifié mon code le resultat ke je trouve tout ce ke contient le fichier_ville1 je le trouve ds fichier_comp

mais cke je ve moi c seulement les valeurs du fichier_vlle1 ki sont différente du fichier_ville2
merci pr votre aide
0
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
13 juin 2005 à 18:40
je viens de voir l'erreur dans ton code, tu doit remplacer :
while (!fichier_ville1.eof())


while (!fichier_ville1.eof())


...


}

Par :
char v1, v2 ;
while (!fichier_ville1.eof() ||fichier_ville2.eof()) {
fichier_ville1>> v1 ;
fichier_ville2>>v2 ;

if (v1 != v2)
cout << v1 ;
fichier_comp << v1 ;
}

...

Et normalement tout devrais fontionner parfaitement :) En fait ce que tu faisait c'est que tu comparais tout ton fichier v2 à un caractère de v1 et ce pour tous les caractères de v1, pas top comme algorithme.

@+ Neria

PS : Si tu pouvais écrire en français à peu près correct, ça serait chouet, parce que pour te lire et comprendre ce que tu veut c'est un vraie catastrophe, j'ai du relire trois fois avant de comprendre.
0
ylovechichi Messages postés 41 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 26 septembre 2005
14 juin 2005 à 00:55
merci bcp pr le conseil
bon pr le code le problème n'est pas encore résolue.il y a 1 pb au niveau du fichier_comp qui boucle à l'infini
0

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

Posez votre question
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
14 juin 2005 à 13:51
C'est à dire il boucle à l'infini ? Par contre pour mon algorithme, il compare les fichiers caractères par caractères, il faudrait un petit peu le modifier pour qu'il compare ligne par ligne
0
ylovechichi Messages postés 41 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 26 septembre 2005
14 juin 2005 à 17:59
resalut mais c'est ce que je veux k'il compare caractère par caractère.le résultat est tjrs faux.
par exemple:
fichier_ville1: 16y 7s 8 10
fichier_ville2: 45 89 16y
le résultat ke je trouve dans fichier_comp : 16y 7s 8 10

(ce n'est pas ce résultat ke je veux)

le bon résultat ke je souhaite obtenir:
dans fichier_comp : 7s 8 10
0
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
15 juin 2005 à 08:32
A ce moment là il faut faire un découpage mot par mot (en fonction des espaces)
0
Rejoignez-nous