J'ai deux fichiers "exemple.txt" et "essai.txt"
J'aime afficher les lignes qui existent dans "exemple.txt" et qui
n'existent pas dans "essai.txt"
c'est comme une sorte de la diff=E9rence.
Chaque ligne de fichier contient une chaine de caract=E8re.
Mon id=E9e :
pour chaque ligne de "exemple.txt" je teste si elle existe dans
"essai.txt".
Si oui je l'affiche.
Le probl=E8me que on peut trouver la m=EAme chaine de caract=E8re de
"exemple.txt" mais dont l'ordre des mots formant cette chaine est
diff=E9rent de celui dans "essai.txt"
on affiche la chaine autant qui se compose de m=EAmes mots.
Soit le fichier "exemple.txt"
nom prenom
nom age
nom prenom age
nom emploi
age emploi
prenom age empoi
nom age emploi
nom prenom emploi
nom prenom age emploi
Soit le fichier "essai.txt"
nom
prenom
age
emploi
age nom
nom age prenom
nom emploi
age emploi
prenom age empoi
nom prenom emploi
nom prenom age emploi
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
programmation
bonjour, Je vous explique ma demande. Soit le premier fichier fichier "f.txt": nom prenom nom age nom prenom age nom emploi age emploi prenom age emploi nom age emploi nom prenom emploi nom prenom age emploi
Soit le deuxième fichier "f2.txt":
nom prenom age emploi age nom nom age prenom nom emploi age emploi prenom age emploi nom prenom emploi nom prenom age emploi
votre solution donne: nom prenom nom age nom prenom age
C'est à dire les lignes qui appartiennent à "f.txt" et n'appartiennent pas à "f2.txt"
Mais, moi je cherche les lignes qui appartiennent à "f.txt" et n'appartiennent pas à "f2.txt" avec les mots de chaque ligne ne sont pas les mêmes quelque soit l'ordre.
par exemple, Dans la ligne de "f.txt": nom age est le même que dans "f2.txt" : age emploi
car les deux lignes ont le même ensemble des mots {nom, age}
Donc le résultat ne contient pas la ligne: nom age
de même Dans la ligne de "f.txt": nom prenom age est le même que dans "f2.txt" : nom age prenom
Enfin en se basant sur l'hypothèse que on compare les lignes qui ont les mêmes mots quelque soit l'ordre
Donc on obtient comme résultat: nom prenom nom age emploi
Avez-vous une proposition car j'ai trouvé une difficulté de dire deux lignes sont les mêmes avec leurs mots qui forment ces deux lignes dans un ordre différent ?
Merci.
bonjour,
Je vous explique ma demande.
Soit le premier fichier fichier "f.txt":
nom prenom
nom age
nom prenom age
nom emploi
age emploi
prenom age emploi
nom age emploi
nom prenom emploi
nom prenom age emploi
Soit le deuxième fichier "f2.txt":
nom
prenom
age
emploi
age nom
nom age prenom
nom emploi
age emploi
prenom age emploi
nom prenom emploi
nom prenom age emploi
votre solution donne:
nom prenom
nom age
nom prenom age
C'est à dire les lignes qui appartiennent à "f.txt" et n'appartiennent
pas à "f2.txt"
Mais, moi je cherche les lignes qui appartiennent à "f.txt" et
n'appartiennent pas à "f2.txt"
avec les mots de chaque ligne ne sont pas les mêmes
quelque soit l'ordre.
par exemple,
Dans la ligne de "f.txt":
nom age
est le même que dans "f2.txt" :
age emploi
car les deux lignes ont le même ensemble des mots {nom, age}
Donc le résultat ne contient pas la ligne: nom age
de même Dans la ligne de "f.txt":
nom prenom age
est le même que dans "f2.txt" :
nom age prenom
Enfin en se basant sur l'hypothèse que on compare les lignes qui ont
les mêmes mots quelque soit l'ordre
Donc on obtient comme résultat:
nom prenom
nom age emploi
Avez-vous une proposition car j'ai trouvé une difficulté de dire deux
lignes sont les mêmes avec leurs mots qui forment ces deux lignes dans
un ordre différent ?
bonjour, Je vous explique ma demande. Soit le premier fichier fichier "f.txt": nom prenom nom age nom prenom age nom emploi age emploi prenom age emploi nom age emploi nom prenom emploi nom prenom age emploi
Soit le deuxième fichier "f2.txt":
nom prenom age emploi age nom nom age prenom nom emploi age emploi prenom age emploi nom prenom emploi nom prenom age emploi
votre solution donne: nom prenom nom age nom prenom age
C'est à dire les lignes qui appartiennent à "f.txt" et n'appartiennent pas à "f2.txt"
Mais, moi je cherche les lignes qui appartiennent à "f.txt" et n'appartiennent pas à "f2.txt" avec les mots de chaque ligne ne sont pas les mêmes quelque soit l'ordre.
par exemple, Dans la ligne de "f.txt": nom age est le même que dans "f2.txt" : age emploi
car les deux lignes ont le même ensemble des mots {nom, age}
Donc le résultat ne contient pas la ligne: nom age
de même Dans la ligne de "f.txt": nom prenom age est le même que dans "f2.txt" : nom age prenom
Enfin en se basant sur l'hypothèse que on compare les lignes qui ont les mêmes mots quelque soit l'ordre
Donc on obtient comme résultat: nom prenom nom age emploi
Avez-vous une proposition car j'ai trouvé une difficulté de dire deux lignes sont les mêmes avec leurs mots qui forment ces deux lignes dans un ordre différent ?
Merci.
jerome
"programmation" a écrit dans le message de news:
Bonjour, J'ai deux fichiers "exemple.txt" et "essai.txt" J'aime afficher les lignes qui existent dans "exemple.txt" et qui n'existent pas dans "essai.txt" c'est comme une sorte de la différence. .. Le problème que on peut trouver la même chaine de caractère de "exemple.txt" mais dont l'ordre des mots formant cette chaine est différent de celui dans "essai.txt" on affiche la chaine autant qui se compose de mêmes mots.
Utilise un tableau pour chaque fichier. Ensuite, ce n'est plus que des recherches de chaines ou parties de chaines dans les tableaux.
"programmation" <bouali.asma@gmail.com> a écrit dans le message de news:
dfe095be-9cf6-4f10-ae01-b39910e5ba0d@g31g2000yqc.googlegroups.com...
Bonjour,
J'ai deux fichiers "exemple.txt" et "essai.txt"
J'aime afficher les lignes qui existent dans "exemple.txt" et qui
n'existent pas dans "essai.txt"
c'est comme une sorte de la différence.
..
Le problème que on peut trouver la même chaine de caractère de
"exemple.txt" mais dont l'ordre des mots formant cette chaine est
différent de celui dans "essai.txt"
on affiche la chaine autant qui se compose de mêmes mots.
Utilise un tableau pour chaque fichier.
Ensuite, ce n'est plus que des recherches de chaines ou parties de chaines
dans les tableaux.
Bonjour, J'ai deux fichiers "exemple.txt" et "essai.txt" J'aime afficher les lignes qui existent dans "exemple.txt" et qui n'existent pas dans "essai.txt" c'est comme une sorte de la différence. .. Le problème que on peut trouver la même chaine de caractère de "exemple.txt" mais dont l'ordre des mots formant cette chaine est différent de celui dans "essai.txt" on affiche la chaine autant qui se compose de mêmes mots.
Utilise un tableau pour chaque fichier. Ensuite, ce n'est plus que des recherches de chaines ou parties de chaines dans les tableaux.
programmation
bonjour,
Je vous explique mon problème. Soit le premier fichier fichier "f.txt": nom prenom nom age nom prenom age nom emploi age emploi prenom age emploi nom age emploi nom prenom emploi nom prenom age emploi
Soit le deuxième fichier "f2.txt":
nom prenom age emploi age nom nom age prenom nom emploi age emploi prenom age emploi nom prenom emploi nom prenom age emploi
Le résultat souhaité: nom prenom nom age emploi
Je cherche les lignes qui appartiennent à "f.txt" et non pas "f2.txt" C'est une sorte de différence lignes de "f.txt" moins lignes de "f2.txt" à condition: Une ligne de "f.txt" est identique à une ligne de "f2.txt" si les deux lignes ont la même valeur et le même nombre des mots qui forment les deux lignes quelque soit l'ordre des mots puisque l'ordre des mots n'est pas important dans mon problème. le plus important c'est : la même valeur et le même nombre
Sinon c'est à dire les deux lignes n'ont pas la même valeur et le mêm e nombre des mots alors dans ce cas les deux lignes sont différentes.
par exemple: "nom prenom age" = "nom age prenom"
et donc l'ordre est ignoré.
J'espère que je le problème est clair sinon je vous explique encore.
Sachant que chaque ligne du deux fichiers "f.txt" et "f2.txt" est composé d'un seul champ (une chaine de caractères).
Le remplissage de deux fichiers se fait par:
fprintf(fp,"%s",s); //le fichier "f.txt"
fprintf(fp2,"%s",s); //le fichier "f2.txt"
J'ai besoin de vos aides.
Merci.
bonjour,
Je vous explique mon problème.
Soit le premier fichier fichier "f.txt":
nom prenom
nom age
nom prenom age
nom emploi
age emploi
prenom age emploi
nom age emploi
nom prenom emploi
nom prenom age emploi
Soit le deuxième fichier "f2.txt":
nom
prenom
age
emploi
age nom
nom age prenom
nom emploi
age emploi
prenom age emploi
nom prenom emploi
nom prenom age emploi
Le résultat souhaité:
nom prenom
nom age emploi
Je cherche les lignes qui appartiennent à "f.txt" et non pas "f2.txt"
C'est une sorte de différence lignes de "f.txt" moins lignes de
"f2.txt"
à condition:
Une ligne de "f.txt" est identique à une ligne de "f2.txt"
si les deux lignes ont la même valeur et le même nombre des mots qui
forment les deux lignes quelque soit l'ordre des mots puisque l'ordre
des mots n'est pas important dans mon problème.
le plus important c'est : la même valeur et le même nombre
Sinon c'est à dire les deux lignes n'ont pas la même valeur et le mêm e
nombre des mots alors dans ce cas les deux lignes sont différentes.
par exemple:
"nom prenom age" = "nom age prenom"
et donc l'ordre est ignoré.
J'espère que je le problème est clair sinon je vous explique encore.
Sachant que chaque ligne du deux fichiers "f.txt" et "f2.txt" est
composé d'un seul champ (une chaine de caractères).
Je vous explique mon problème. Soit le premier fichier fichier "f.txt": nom prenom nom age nom prenom age nom emploi age emploi prenom age emploi nom age emploi nom prenom emploi nom prenom age emploi
Soit le deuxième fichier "f2.txt":
nom prenom age emploi age nom nom age prenom nom emploi age emploi prenom age emploi nom prenom emploi nom prenom age emploi
Le résultat souhaité: nom prenom nom age emploi
Je cherche les lignes qui appartiennent à "f.txt" et non pas "f2.txt" C'est une sorte de différence lignes de "f.txt" moins lignes de "f2.txt" à condition: Une ligne de "f.txt" est identique à une ligne de "f2.txt" si les deux lignes ont la même valeur et le même nombre des mots qui forment les deux lignes quelque soit l'ordre des mots puisque l'ordre des mots n'est pas important dans mon problème. le plus important c'est : la même valeur et le même nombre
Sinon c'est à dire les deux lignes n'ont pas la même valeur et le mêm e nombre des mots alors dans ce cas les deux lignes sont différentes.
par exemple: "nom prenom age" = "nom age prenom"
et donc l'ordre est ignoré.
J'espère que je le problème est clair sinon je vous explique encore.
Sachant que chaque ligne du deux fichiers "f.txt" et "f2.txt" est composé d'un seul champ (une chaine de caractères).
Mais cette solution tient de l'ordre des mots de deux lignes pour chaque fichier. "nom prenom age" est différent " nom age prenom"
j'ai dit il suffit de changer cette condition: if(!strcmp(s, s2)) par un truc comme if(same_word(s, s2)) . mais, je trouve difficulté de implémenter la fonction same_word(s, s2)
Comment je vais modifier cette solution pour ignorer l'ordre. pour obtenir:
Mais cette solution tient de l'ordre des mots de deux lignes pour
chaque fichier.
"nom prenom age" est différent " nom age prenom"
j'ai dit il suffit de changer cette condition: if(!strcmp(s, s2))
par un truc comme if(same_word(s, s2)) .
mais, je trouve difficulté de implémenter
la fonction same_word(s, s2)
Comment je vais modifier cette solution pour ignorer l'ordre.
pour obtenir:
Mais cette solution tient de l'ordre des mots de deux lignes pour chaque fichier. "nom prenom age" est différent " nom age prenom"
j'ai dit il suffit de changer cette condition: if(!strcmp(s, s2)) par un truc comme if(same_word(s, s2)) . mais, je trouve difficulté de implémenter la fonction same_word(s, s2)
Comment je vais modifier cette solution pour ignorer l'ordre. pour obtenir:
"nom prenom age" = " nom age prenom"
Merci.
marc
programmation a écrit :
// Comment je vais modifier cette solution pour ignorer l'ordre. pour obtenir:
"nom prenom age" = " nom age prenom"
Découpe en mots et pour chacun appelle strstr() pour savoir s'il est dans l'autre chaine
programmation a écrit :
//
Comment je vais modifier cette solution pour ignorer l'ordre.
pour obtenir:
"nom prenom age" = " nom age prenom"
Découpe en mots et pour chacun appelle strstr() pour savoir s'il est
dans l'autre chaine
// Comment je vais modifier cette solution pour ignorer l'ordre. pour obtenir:
"nom prenom age" = " nom age prenom"
Découpe en mots et pour chacun appelle strstr() pour savoir s'il est dans l'autre chaine
programmation
On 27 août, 11:52, marc wrote:
programmation a écrit :
> // > Comment je vais modifier cette solution pour ignorer l'ordre. > pour obtenir:
> "nom prenom age" = " nom age prenom"
Découpe en mots et pour chacun appelle strstr() pour savoir s'il est dans l'autre chaine
Bonjour, Mon problème concernant le critère de la comparaison de deux fichiers a été modifié. Je vous explique : On n'affiche pas dans la console les lignes identiques. la condition que deux lignes sont identiques ne tient pas de l'ordre par exemple: "a b c" = "b c a"
Mais, une autre condition qui s'ajoute :on n'affiche pas les lignes de "f.txt" qui sont inclus dans "f2.txt" par exemple: "a c" est inclue dans "b c a" "b c" est inclue dans "b c a"
Donc ou lieu d'obtenir comme résultat : a b b c b d c d a b d b c d a c d a b c d
Alors si on ajoute la condition d'inclusion, on va obtenir le résultat suivant:
b d c d a b d b c d a c d a b c d
Ceci c'est comment on fait la comparaison entre deux fichiers.
J'ai voulu composer mon problèmes en sous problèmes pour que soit lisible.
Je vous explique le problème en totalité:
J'ai un fichier de base qui doit être exister qui s'appelle "f.txt" Soit le fichier "f.txt": a b a c a d b c b d c d a b c a b d b c d a c d a b c d
et j'ai d'autres fichiers qui leur nombre varie. Mais au moins j'ai un et je peux avoir N fichiers. Supposons que on a N=3. Donc on a 3 fichiers respectivement: "f1.txt", "f2.txt" et "f3.txt" Soit "f1.txt" : a d a c a b c a
Soit "f2.txt" : a c b d b a d a b c d c b c a
Soit "f3.txt" : a b c c a d a b a b c b c a
Je voudrais chercher comme j'ai dit avant les lignes qui appartiennent au "f.txt" et qui vérifient les deux conditions c'est à dire : l'ignorance de l'ordre et inclusion.
Je vais appliquer votre idée successivement entre: - "f.txt" et "f1.txt" - "f.txt" et "f2.txt" - "f.txt" et "f3.txt"
C'est bon j'obtiens le résultat pour: - "f.txt" et "f1.txt" b d c d a b d b c d a c d a b c d
- "f.txt" et "f2.txt" b d a b d b c d a c d a b c d
- "f.txt" et "f3.txt" b d c d a b d b c d a c d a b c d
Le travail est de chercher l'intersection entre ces résultats obtenus.
Le résultat souhaité obtenu à la fin est : b d a b d b c d a c d a b c d
Enfin, nous cherchons dans ce résultat la ligne qui n'est pas incluse dans les autres lignes de ce même résultat. on a : "a b d" contient "b d" "b c d" contient "b d" "a b c d" contient "b d"
Et donc nous obtenons le résultat final de ce problème: b d a c d
Que pensez vous de cette idée ? Que proposez vous comme structure de donnée pour sauvegarder les résultats obtenus entre deux fichiers puis pour faire l'intersection entre ces résultats ? Pouvez vous poster votre solution pour que je vois comment je vais l'exploiter ?
J'ai besoin de vos aides.
Merci.
On 27 août, 11:52, marc <marc.tes...@caramail.com> wrote:
programmation a écrit :
> //
> Comment je vais modifier cette solution pour ignorer l'ordre.
> pour obtenir:
> "nom prenom age" = " nom age prenom"
Découpe en mots et pour chacun appelle strstr() pour savoir s'il est
dans l'autre chaine
Bonjour,
Mon problème concernant le critère de la comparaison de deux fichiers
a été modifié.
Je vous explique :
On n'affiche pas dans la console les lignes identiques.
la condition que deux lignes sont identiques ne tient pas de l'ordre
par exemple:
"a b c" = "b c a"
Mais, une autre condition qui s'ajoute :on n'affiche pas les lignes de
"f.txt" qui sont inclus dans "f2.txt"
par exemple:
"a c" est inclue dans "b c a"
"b c" est inclue dans "b c a"
Donc ou lieu d'obtenir comme résultat :
a b
b c
b d
c d
a b d
b c d
a c d
a b c d
Alors si on ajoute la condition d'inclusion, on va obtenir le résultat
suivant:
b d
c d
a b d
b c d
a c d
a b c d
Ceci c'est comment on fait la comparaison entre deux fichiers.
J'ai voulu composer mon problèmes en sous problèmes pour que soit
lisible.
Je vous explique le problème en totalité:
J'ai un fichier de base qui doit être exister qui s'appelle "f.txt"
Soit le fichier "f.txt":
a b
a c
a d
b c
b d
c d
a b c
a b d
b c d
a c d
a b c d
et j'ai d'autres fichiers qui leur nombre varie. Mais au moins j'ai un
et je peux avoir N fichiers.
Supposons que on a N=3.
Donc on a 3 fichiers respectivement: "f1.txt", "f2.txt" et "f3.txt"
Soit "f1.txt" :
a
d a
c a
b c a
Soit "f2.txt" :
a
c
b
d
b a
d a
b c
d c
b c a
Soit "f3.txt" :
a
b
c
c a
d a
b a
b c
b c a
Je voudrais chercher comme j'ai dit avant les lignes qui appartiennent
au "f.txt" et qui vérifient les deux conditions c'est à dire :
l'ignorance de l'ordre et inclusion.
Je vais appliquer votre idée successivement entre:
- "f.txt" et "f1.txt"
- "f.txt" et "f2.txt"
- "f.txt" et "f3.txt"
C'est bon j'obtiens le résultat pour:
- "f.txt" et "f1.txt"
b d
c d
a b d
b c d
a c d
a b c d
- "f.txt" et "f2.txt"
b d
a b d
b c d
a c d
a b c d
- "f.txt" et "f3.txt"
b d
c d
a b d
b c d
a c d
a b c d
Le travail est de chercher l'intersection entre ces résultats obtenus.
Le résultat souhaité obtenu à la fin est :
b d
a b d
b c d
a c d
a b c d
Enfin, nous cherchons dans ce résultat la ligne qui n'est pas incluse
dans les autres lignes de ce même résultat.
on a :
"a b d" contient "b d"
"b c d" contient "b d"
"a b c d" contient "b d"
Et donc nous obtenons le résultat final de ce problème:
b d
a c d
Que pensez vous de cette idée ?
Que proposez vous comme structure de donnée pour sauvegarder les
résultats obtenus entre deux fichiers puis pour faire l'intersection
entre ces résultats ?
Pouvez vous poster votre solution pour que je vois comment je vais
l'exploiter ?
> // > Comment je vais modifier cette solution pour ignorer l'ordre. > pour obtenir:
> "nom prenom age" = " nom age prenom"
Découpe en mots et pour chacun appelle strstr() pour savoir s'il est dans l'autre chaine
Bonjour, Mon problème concernant le critère de la comparaison de deux fichiers a été modifié. Je vous explique : On n'affiche pas dans la console les lignes identiques. la condition que deux lignes sont identiques ne tient pas de l'ordre par exemple: "a b c" = "b c a"
Mais, une autre condition qui s'ajoute :on n'affiche pas les lignes de "f.txt" qui sont inclus dans "f2.txt" par exemple: "a c" est inclue dans "b c a" "b c" est inclue dans "b c a"
Donc ou lieu d'obtenir comme résultat : a b b c b d c d a b d b c d a c d a b c d
Alors si on ajoute la condition d'inclusion, on va obtenir le résultat suivant:
b d c d a b d b c d a c d a b c d
Ceci c'est comment on fait la comparaison entre deux fichiers.
J'ai voulu composer mon problèmes en sous problèmes pour que soit lisible.
Je vous explique le problème en totalité:
J'ai un fichier de base qui doit être exister qui s'appelle "f.txt" Soit le fichier "f.txt": a b a c a d b c b d c d a b c a b d b c d a c d a b c d
et j'ai d'autres fichiers qui leur nombre varie. Mais au moins j'ai un et je peux avoir N fichiers. Supposons que on a N=3. Donc on a 3 fichiers respectivement: "f1.txt", "f2.txt" et "f3.txt" Soit "f1.txt" : a d a c a b c a
Soit "f2.txt" : a c b d b a d a b c d c b c a
Soit "f3.txt" : a b c c a d a b a b c b c a
Je voudrais chercher comme j'ai dit avant les lignes qui appartiennent au "f.txt" et qui vérifient les deux conditions c'est à dire : l'ignorance de l'ordre et inclusion.
Je vais appliquer votre idée successivement entre: - "f.txt" et "f1.txt" - "f.txt" et "f2.txt" - "f.txt" et "f3.txt"
C'est bon j'obtiens le résultat pour: - "f.txt" et "f1.txt" b d c d a b d b c d a c d a b c d
- "f.txt" et "f2.txt" b d a b d b c d a c d a b c d
- "f.txt" et "f3.txt" b d c d a b d b c d a c d a b c d
Le travail est de chercher l'intersection entre ces résultats obtenus.
Le résultat souhaité obtenu à la fin est : b d a b d b c d a c d a b c d
Enfin, nous cherchons dans ce résultat la ligne qui n'est pas incluse dans les autres lignes de ce même résultat. on a : "a b d" contient "b d" "b c d" contient "b d" "a b c d" contient "b d"
Et donc nous obtenons le résultat final de ce problème: b d a c d
Que pensez vous de cette idée ? Que proposez vous comme structure de donnée pour sauvegarder les résultats obtenus entre deux fichiers puis pour faire l'intersection entre ces résultats ? Pouvez vous poster votre solution pour que je vois comment je vais l'exploiter ?