voila le code je sais pas mais pour le rendre plus simple pas evident comme
encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne
avec un autre ligne de 5 chiffre
et s'il y a des equivalence ben me +1 dans une variable
voila merci
le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st
ainsi de suite
et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
voila le code je sais pas mais pour le rendre plus simple pas evident comme encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne avec un autre ligne de 5 chiffre et s'il y a des equivalence ben me +1 dans une variable voila merci le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st ainsi de suite et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
...
Tu préfères pas à la place faire des boucles et travailler avec des tableaux ? Ca rendrait ton code plus lisible et plus simple à maintenir. Si tu aimes les maths, c'est comme travailler sur des matrices :
- T'as pas grand chose à ajouter comme mot clef pour travailler avec : "for" et un "break" dans un de tes "if" pour sortir d'une des boucles.
- Éventuellement des constantes ou des #define pour définir la taille des tableaux et pouvoir en changer facilement.
- Autre conseil, évites les "toto++" dans tes instructions. C'est pas très lisible et on peu avoir une erreur de logique du genre : if ( titi == 5 && ++toto == 7 )...
Si titi != 5, t'auras pas de toto++
- Et pourquoi printf ? Tu préfères les fonctions d'origine du C ? Tu fais comme tu veux. Le principale c'est qu'il te sorte ce que tu veux sur le terminal.
Lisibilité difficile => bugs cachés (le plus souvent). La simplicité avant tout.
giovannisch@hotmail.com wrote:
voila le code je sais pas mais pour le rendre plus simple pas evident
comme encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne
avec un autre ligne de 5 chiffre
et s'il y a des equivalence ben me +1 dans une variable
voila merci
le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st
ainsi de suite
et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
...
Tu préfères pas à la place faire des boucles et travailler avec des
tableaux ? Ca rendrait ton code plus lisible et plus simple à maintenir. Si
tu aimes les maths, c'est comme travailler sur des matrices :
- T'as pas grand chose à ajouter comme mot clef pour travailler avec : "for"
et un "break" dans un de tes "if" pour sortir d'une des boucles.
- Éventuellement des constantes ou des #define pour définir la taille des
tableaux et pouvoir en changer facilement.
- Autre conseil, évites les "toto++" dans tes instructions. C'est pas très
lisible et on peu avoir une erreur de logique du genre :
if ( titi == 5 && ++toto == 7 )...
Si titi != 5, t'auras pas de toto++
- Et pourquoi printf ? Tu préfères les fonctions d'origine du C ? Tu fais
comme tu veux. Le principale c'est qu'il te sorte ce que tu veux sur le
terminal.
Lisibilité difficile => bugs cachés (le plus souvent). La simplicité avant
tout.
voila le code je sais pas mais pour le rendre plus simple pas evident comme encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne avec un autre ligne de 5 chiffre et s'il y a des equivalence ben me +1 dans une variable voila merci le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st ainsi de suite et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
...
Tu préfères pas à la place faire des boucles et travailler avec des tableaux ? Ca rendrait ton code plus lisible et plus simple à maintenir. Si tu aimes les maths, c'est comme travailler sur des matrices :
- T'as pas grand chose à ajouter comme mot clef pour travailler avec : "for" et un "break" dans un de tes "if" pour sortir d'une des boucles.
- Éventuellement des constantes ou des #define pour définir la taille des tableaux et pouvoir en changer facilement.
- Autre conseil, évites les "toto++" dans tes instructions. C'est pas très lisible et on peu avoir une erreur de logique du genre : if ( titi == 5 && ++toto == 7 )...
Si titi != 5, t'auras pas de toto++
- Et pourquoi printf ? Tu préfères les fonctions d'origine du C ? Tu fais comme tu veux. Le principale c'est qu'il te sorte ce que tu veux sur le terminal.
Lisibilité difficile => bugs cachés (le plus souvent). La simplicité avant tout.
Michael DOUBEZ
wrote:
voila le code je sais pas mais pour le rendre plus simple pas evident comme encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne avec un autre ligne de 5 chiffre et s'il y a des equivalence ben me +1 dans une variable voila merci le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st ainsi de suite et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair mettre ça en fonction.
Supposant, que nb_1 ... sont dans un std::array nb_12345, c'est équivalent à std::find(nb_12345.begin(),nb_12345.end(),x)!=nb_12345.end()
Tu pourrais aussi utiliser un std::set, c'est plus logique: nb_12345.find(x)!=nb_123455.end()
Mis en fonction,ça donne exists_in(value, container).
Ensuite, tu peux stocker les résultats pour éviter de refaire les comparaisons: const bool has_nb_11=exists_in(nb_11,nb_12345); const bool has_nb_22=exists_in(nb_22,nb_12345); ...
Enfin, concernant le comptage des t123,...t235, tu peux refaire comme tu as fait: if ( has_nb_11 && has_nb_22 && has_nb_33 )++t123; ...
C'est assez clair et simple pour cet ordre de grandeur.
-- Michael
giovannisch@hotmail.com wrote:
voila le code je sais pas mais pour le rendre plus simple pas evident comme
encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne
avec un autre ligne de 5 chiffre
et s'il y a des equivalence ben me +1 dans une variable
voila merci
le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st
ainsi de suite
et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque
fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair
mettre ça en fonction.
Supposant, que nb_1 ... sont dans un std::array nb_12345, c'est équivalent à
std::find(nb_12345.begin(),nb_12345.end(),x)!=nb_12345.end()
Tu pourrais aussi utiliser un std::set, c'est plus logique:
nb_12345.find(x)!=nb_123455.end()
Mis en fonction,ça donne exists_in(value, container).
Ensuite, tu peux stocker les résultats pour éviter de refaire les
comparaisons:
const bool has_nb_11=exists_in(nb_11,nb_12345);
const bool has_nb_22=exists_in(nb_22,nb_12345);
...
Enfin, concernant le comptage des t123,...t235, tu peux refaire comme tu
as fait:
if ( has_nb_11 && has_nb_22 && has_nb_33 )++t123;
...
C'est assez clair et simple pour cet ordre de grandeur.
voila le code je sais pas mais pour le rendre plus simple pas evident comme encore beginner
en resume compare valeur de de ligne avec 5 chiffre par ligne avec un autre ligne de 5 chiffre et s'il y a des equivalence ben me +1 dans une variable voila merci le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et equivalent e st ainsi de suite et ajoute+1 si y une autre ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair mettre ça en fonction.
Supposant, que nb_1 ... sont dans un std::array nb_12345, c'est équivalent à std::find(nb_12345.begin(),nb_12345.end(),x)!=nb_12345.end()
Tu pourrais aussi utiliser un std::set, c'est plus logique: nb_12345.find(x)!=nb_123455.end()
Mis en fonction,ça donne exists_in(value, container).
Ensuite, tu peux stocker les résultats pour éviter de refaire les comparaisons: const bool has_nb_11=exists_in(nb_11,nb_12345); const bool has_nb_22=exists_in(nb_22,nb_12345); ...
Enfin, concernant le comptage des t123,...t235, tu peux refaire comme tu as fait: if ( has_nb_11 && has_nb_22 && has_nb_33 )++t123; ...
C'est assez clair et simple pour cet ordre de grandeur.
-- Michael
James Kanze
On Mar 24, 11:18 pm, Michael DOUBEZ wrote:
wrote: > voila le code je sais pas mais pour le rendre plus simple > pas evident comme encore beginner
> en resume compare valeur de de ligne avec 5 chiffre par > ligne avec un autre ligne de 5 chiffre et s'il y a des > equivalence ben me +1 dans une variable > voila merci > le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et > equivalent e st ainsi de suite et ajoute+1 si y une autre > ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair mettre ça en fonction.
Le problème, je crois, commence déjà avec la formulation du problème. Je n'arrive pas à comprendre ce qu'il veut faire. Et quand ce qu'on ne veut faire n'est pas clair, ou n'est pas clairement formulé, la conception et le code qui s'en suivent ne le seront pas non plus.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
On Mar 24, 11:18 pm, Michael DOUBEZ <michael.dou...@free.fr> wrote:
giovanni...@hotmail.com wrote:
> voila le code je sais pas mais pour le rendre plus simple
> pas evident comme encore beginner
> en resume compare valeur de de ligne avec 5 chiffre par
> ligne avec un autre ligne de 5 chiffre et s'il y a des
> equivalence ben me +1 dans une variable
> voila merci
> le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et
> equivalent e st ainsi de suite et ajoute+1 si y une autre
> ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à
chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 ....
c'est plus clair mettre ça en fonction.
Le problème, je crois, commence déjà avec la formulation du
problème. Je n'arrive pas à comprendre ce qu'il veut faire. Et
quand ce qu'on ne veut faire n'est pas clair, ou n'est pas
clairement formulé, la conception et le code qui s'en suivent ne
le seront pas non plus.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
wrote: > voila le code je sais pas mais pour le rendre plus simple > pas evident comme encore beginner
> en resume compare valeur de de ligne avec 5 chiffre par > ligne avec un autre ligne de 5 chiffre et s'il y a des > equivalence ben me +1 dans une variable > voila merci > le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et > equivalent e st ainsi de suite et ajoute+1 si y une autre > ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair mettre ça en fonction.
Le problème, je crois, commence déjà avec la formulation du problème. Je n'arrive pas à comprendre ce qu'il veut faire. Et quand ce qu'on ne veut faire n'est pas clair, ou n'est pas clairement formulé, la conception et le code qui s'en suivent ne le seront pas non plus.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
euh merci d'avoir repondu voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
"James Kanze" a écrit dans le message de news:
On Mar 24, 11:18 pm, Michael DOUBEZ wrote:
wrote: > voila le code je sais pas mais pour le rendre plus simple > pas evident comme encore beginner
> en resume compare valeur de de ligne avec 5 chiffre par > ligne avec un autre ligne de 5 chiffre et s'il y a des > equivalence ben me +1 dans une variable > voila merci > le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et > equivalent e st ainsi de suite et ajoute+1 si y une autre > ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair mettre ça en fonction.
Le problème, je crois, commence déjà avec la formulation du problème. Je n'arrive pas à comprendre ce qu'il veut faire. Et quand ce qu'on ne veut faire n'est pas clair, ou n'est pas clairement formulé, la conception et le code qui s'en suivent ne le seront pas non plus.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
euh merci d'avoir repondu
voila comem je les dit dans ancien post je suis debutant
et j'arrive pas avec les vector stocker une ligne de fichier et acceder a
telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65
la y a 2 chiffre equivalent
et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable
passe a la ligne suivante du fichier 2 ligne 2
et fais al meme chose avec la ligne 1 du fichier 1 toujours
etc
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du
fichier 2 qui ont les meme chiffre
et 3 ligne qui ont 4chiffre equivalent etc
voila j'expere que jai un peu pres bien expliquer
"James Kanze" <james.kanze@gmail.com> a écrit dans le message de news:
6a0bb326-0190-4cf6-92ef-216b3be7c32f@v15g2000yqn.googlegroups.com...
On Mar 24, 11:18 pm, Michael DOUBEZ <michael.dou...@free.fr> wrote:
giovanni...@hotmail.com wrote:
> voila le code je sais pas mais pour le rendre plus simple
> pas evident comme encore beginner
> en resume compare valeur de de ligne avec 5 chiffre par
> ligne avec un autre ligne de 5 chiffre et s'il y a des
> equivalence ben me +1 dans une variable
> voila merci
> le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et
> equivalent e st ainsi de suite et ajoute+1 si y une autre
> ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à
chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 ....
c'est plus clair mettre ça en fonction.
Le problème, je crois, commence déjà avec la formulation du
problème. Je n'arrive pas à comprendre ce qu'il veut faire. Et
quand ce qu'on ne veut faire n'est pas clair, ou n'est pas
clairement formulé, la conception et le code qui s'en suivent ne
le seront pas non plus.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
euh merci d'avoir repondu voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
"James Kanze" a écrit dans le message de news:
On Mar 24, 11:18 pm, Michael DOUBEZ wrote:
wrote: > voila le code je sais pas mais pour le rendre plus simple > pas evident comme encore beginner
> en resume compare valeur de de ligne avec 5 chiffre par > ligne avec un autre ligne de 5 chiffre et s'il y a des > equivalence ben me +1 dans une variable > voila merci > le t125 veu dire que le chiffre 1 et 2 et 5 de la ligne et > equivalent e st ainsi de suite et ajoute+1 si y une autre > ligne comparer qui a aussi cette equivalence la
Je n'ai pas eu le courage de décrypter tout ton code mais, à chaque fois, tu fais la comparaison x==nb_1 || x==nb_2 .... c'est plus clair mettre ça en fonction.
Le problème, je crois, commence déjà avec la formulation du problème. Je n'arrive pas à comprendre ce qu'il veut faire. Et quand ce qu'on ne veut faire n'est pas clair, ou n'est pas clairement formulé, la conception et le code qui s'en suivent ne le seront pas non plus.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
James Kanze
On Mar 25, 5:50 pm, wrote:
voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
Et comme j'ai dit, c'est précisement là où réside le problème. Tant que tu ne peux pas décrire le problème en français, d'une manière claire et précise, il n'y a aucun espoir de pouvoir le traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà ce que tu définis une fonction sur le produit cartesien des lignes dans les deux fichiers. Pour créer l'ensemble des produits cartesiens, il faut déjà deux boucles imbriquées.
Ensuite, j'ai l'impression que tu veux la cardinalité de l'union des ensembles de nombres dans chaque pair. La plus simple pour ça, c'est de trier les donners, puis utiliser std::set_union.
Mais il reste beaucoup d'inconnus : quel est le format exact des fichiers en entrée (toujours cinq nombres par ligne, ou non), que c'est qu'il faut faire s'il y a une erreur de format (laisser tomber la ligne, et continuer, ou abandonner le traitement). Ensuite, il faudrait bien une définition plus exacte des données sur lesquelles on travaille, ce qu'il signifie, etc. Et pour des raisons purement technique, on aimerait avoir une idée de la taille des données -- le problème est beaucoup plus simple si on pourrait les tenir tous en mémoire.
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair. Peut-être d'autres ont mieux compris.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
On Mar 25, 5:50 pm, <giovanni...@hotmail.com> wrote:
voila comem je les dit dans ancien post je suis debutant et
j'arrive pas avec les vector stocker une ligne de fichier et
acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps
fort
Et comme j'ai dit, c'est précisement là où réside le problème.
Tant que tu ne peux pas décrire le problème en français, d'une
manière claire et précise, il n'y a aucun espoir de pouvoir le
traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65
la y a 2 chiffre equivalent et met pour la ligne 1du fichier
1 2 chiffre equivalent dans une variable passe a la ligne
suivante du fichier 2 ligne 2 et fais al meme chose avec la
ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà
ce que tu définis une fonction sur le produit cartesien des
lignes dans les deux fichiers. Pour créer l'ensemble des
produits cartesiens, il faut déjà deux boucles imbriquées.
Ensuite, j'ai l'impression que tu veux la cardinalité de l'union
des ensembles de nombres dans chaque pair. La plus simple pour
ça, c'est de trier les donners, puis utiliser std::set_union.
Mais il reste beaucoup d'inconnus : quel est le format exact
des fichiers en entrée (toujours cinq nombres par ligne, ou
non), que c'est qu'il faut faire s'il y a une erreur de format
(laisser tomber la ligne, et continuer, ou abandonner le
traitement). Ensuite, il faudrait bien une définition plus
exacte des données sur lesquelles on travaille, ce qu'il
signifie, etc. Et pour des raisons purement technique, on
aimerait avoir une idée de la taille des données -- le problème
est beaucoup plus simple si on pourrait les tenir tous en
mémoire.
a la fin j aimerais savoir que avec le fichier 1 ligne une il
y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne
qui ont 4chiffre equivalent etc voila j'expere que jai un
peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair.
Peut-être d'autres ont mieux compris.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
Et comme j'ai dit, c'est précisement là où réside le problème. Tant que tu ne peux pas décrire le problème en français, d'une manière claire et précise, il n'y a aucun espoir de pouvoir le traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà ce que tu définis une fonction sur le produit cartesien des lignes dans les deux fichiers. Pour créer l'ensemble des produits cartesiens, il faut déjà deux boucles imbriquées.
Ensuite, j'ai l'impression que tu veux la cardinalité de l'union des ensembles de nombres dans chaque pair. La plus simple pour ça, c'est de trier les donners, puis utiliser std::set_union.
Mais il reste beaucoup d'inconnus : quel est le format exact des fichiers en entrée (toujours cinq nombres par ligne, ou non), que c'est qu'il faut faire s'il y a une erreur de format (laisser tomber la ligne, et continuer, ou abandonner le traitement). Ensuite, il faudrait bien une définition plus exacte des données sur lesquelles on travaille, ce qu'il signifie, etc. Et pour des raisons purement technique, on aimerait avoir une idée de la taille des données -- le problème est beaucoup plus simple si on pourrait les tenir tous en mémoire.
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair. Peut-être d'autres ont mieux compris.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Michael DOUBEZ
James Kanze wrote:
On Mar 25, 5:50 pm, wrote:
voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
Et comme j'ai dit, c'est précisement là où réside le problème. Tant que tu ne peux pas décrire le problème en français, d'une manière claire et précise, il n'y a aucun espoir de pouvoir le traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà ce que tu définis une fonction sur le produit cartesien des lignes dans les deux fichiers. Pour créer l'ensemble des produits cartesiens, il faut déjà deux boucles imbriquées.
Il n'a pas donné de précondition quand au fait que les nombres soient distinct donc il n'est pas à priori possible d'utiliser les ensembles et je suppose qu'il s'agit de sac.
D'après le code, il prends tous les sous-sac de trois éléments d'un sac de référence (R={{nb_1,nb_2,nb_3,nb_4,nb_5}}) de 5 éléments. Puis il calcule le nombre de fois ou chacun de ces sous-sacs de R est également un sous-sac de sacs d'entrées I={{ {{nb_11,nb_22,nb_33,nb_44,nb_55}},... }}.
[snip]
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair. Peut-être d'autres ont mieux compris.
Pas mieux.
-- Michael
James Kanze wrote:
On Mar 25, 5:50 pm, <giovanni...@hotmail.com> wrote:
voila comem je les dit dans ancien post je suis debutant et
j'arrive pas avec les vector stocker une ligne de fichier et
acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps
fort
Et comme j'ai dit, c'est précisement là où réside le problème.
Tant que tu ne peux pas décrire le problème en français, d'une
manière claire et précise, il n'y a aucun espoir de pouvoir le
traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65
la y a 2 chiffre equivalent et met pour la ligne 1du fichier
1 2 chiffre equivalent dans une variable passe a la ligne
suivante du fichier 2 ligne 2 et fais al meme chose avec la
ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà
ce que tu définis une fonction sur le produit cartesien des
lignes dans les deux fichiers. Pour créer l'ensemble des
produits cartesiens, il faut déjà deux boucles imbriquées.
Il n'a pas donné de précondition quand au fait que les nombres soient
distinct donc il n'est pas à priori possible d'utiliser les ensembles et
je suppose qu'il s'agit de sac.
D'après le code, il prends tous les sous-sac de trois éléments d'un sac
de référence (R={{nb_1,nb_2,nb_3,nb_4,nb_5}}) de 5 éléments. Puis il
calcule le nombre de fois ou chacun de ces sous-sacs de R est également
un sous-sac de sacs d'entrées I={{ {{nb_11,nb_22,nb_33,nb_44,nb_55}},... }}.
[snip]
a la fin j aimerais savoir que avec le fichier 1 ligne une il
y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne
qui ont 4chiffre equivalent etc voila j'expere que jai un
peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair.
Peut-être d'autres ont mieux compris.
voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
Et comme j'ai dit, c'est précisement là où réside le problème. Tant que tu ne peux pas décrire le problème en français, d'une manière claire et précise, il n'y a aucun espoir de pouvoir le traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà ce que tu définis une fonction sur le produit cartesien des lignes dans les deux fichiers. Pour créer l'ensemble des produits cartesiens, il faut déjà deux boucles imbriquées.
Il n'a pas donné de précondition quand au fait que les nombres soient distinct donc il n'est pas à priori possible d'utiliser les ensembles et je suppose qu'il s'agit de sac.
D'après le code, il prends tous les sous-sac de trois éléments d'un sac de référence (R={{nb_1,nb_2,nb_3,nb_4,nb_5}}) de 5 éléments. Puis il calcule le nombre de fois ou chacun de ces sous-sacs de R est également un sous-sac de sacs d'entrées I={{ {{nb_11,nb_22,nb_33,nb_44,nb_55}},... }}.
[snip]
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair. Peut-être d'autres ont mieux compris.
Pas mieux.
-- Michael
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
"James Kanze" a écrit dans le message de news:
On Mar 25, 5:50 pm, wrote:
voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
Et comme j'ai dit, c'est précisement là où réside le problème. Tant que tu ne peux pas décrire le problème en français, d'une manière claire et précise, il n'y a aucun espoir de pouvoir le traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà ce que tu définis une fonction sur le produit cartesien des lignes dans les deux fichiers. Pour créer l'ensemble des produits cartesiens, il faut déjà deux boucles imbriquées.
Ensuite, j'ai l'impression que tu veux la cardinalité de l'union des ensembles de nombres dans chaque pair. La plus simple pour ça, c'est de trier les donners, puis utiliser std::set_union.
Mais il reste beaucoup d'inconnus : quel est le format exact des fichiers en entrée (toujours cinq nombres par ligne, ou non), que c'est qu'il faut faire s'il y a une erreur de format (laisser tomber la ligne, et continuer, ou abandonner le traitement). Ensuite, il faudrait bien une définition plus exacte des données sur lesquelles on travaille, ce qu'il signifie, etc. Et pour des raisons purement technique, on aimerait avoir une idée de la taille des données -- le problème est beaucoup plus simple si on pourrait les tenir tous en mémoire.
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair. Peut-être d'autres ont mieux compris.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
donc voila fichier text qui sont defini comme ci dessous:
1234 45 67 89 9 2
etc
etc
le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui
suive le 1234
et compare ligne d un second fichier text aussi defini la meme chose et la
fin je voudrais savoir
que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du
fichier 2
4 chiffre equivalent sur 8 ligne du ficier 2
3 chiffre equivalent sur 14 ligne du fichier 2
etc
jusqua 2 chiffre equivalent
apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne
2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e
ligne il y a equivalene avec la ligne 2 du fichier 1 etc
jusqua la fin
voila j'espere un peu pluscomprensible
"James Kanze" <james.kanze@gmail.com> a écrit dans le message de news:
ea780c84-381f-413a-8882-dea0f39b65f6@33g2000yqm.googlegroups.com...
On Mar 25, 5:50 pm, <giovanni...@hotmail.com> wrote:
voila comem je les dit dans ancien post je suis debutant et
j'arrive pas avec les vector stocker une ligne de fichier et
acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps
fort
Et comme j'ai dit, c'est précisement là où réside le problème.
Tant que tu ne peux pas décrire le problème en français, d'une
manière claire et précise, il n'y a aucun espoir de pouvoir le
traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65
la y a 2 chiffre equivalent et met pour la ligne 1du fichier
1 2 chiffre equivalent dans une variable passe a la ligne
suivante du fichier 2 ligne 2 et fais al meme chose avec la
ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà
ce que tu définis une fonction sur le produit cartesien des
lignes dans les deux fichiers. Pour créer l'ensemble des
produits cartesiens, il faut déjà deux boucles imbriquées.
Ensuite, j'ai l'impression que tu veux la cardinalité de l'union
des ensembles de nombres dans chaque pair. La plus simple pour
ça, c'est de trier les donners, puis utiliser std::set_union.
Mais il reste beaucoup d'inconnus : quel est le format exact
des fichiers en entrée (toujours cinq nombres par ligne, ou
non), que c'est qu'il faut faire s'il y a une erreur de format
(laisser tomber la ligne, et continuer, ou abandonner le
traitement). Ensuite, il faudrait bien une définition plus
exacte des données sur lesquelles on travaille, ce qu'il
signifie, etc. Et pour des raisons purement technique, on
aimerait avoir une idée de la taille des données -- le problème
est beaucoup plus simple si on pourrait les tenir tous en
mémoire.
a la fin j aimerais savoir que avec le fichier 1 ligne une il
y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne
qui ont 4chiffre equivalent etc voila j'expere que jai un
peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair.
Peut-être d'autres ont mieux compris.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
"James Kanze" a écrit dans le message de news:
On Mar 25, 5:50 pm, wrote:
voila comem je les dit dans ancien post je suis debutant et j'arrive pas avec les vector stocker une ligne de fichier et acceder a telle ligne et comparer ...
je prefere un exemple que faire un blabla comme je suis aps fort
Et comme j'ai dit, c'est précisement là où réside le problème. Tant que tu ne peux pas décrire le problème en français, d'une manière claire et précise, il n'y a aucun espoir de pouvoir le traduire en C++.
fichier ligne 1 : 74 85 96 10 2 ficier 2 ligne 1: 2 10 98 54 65 la y a 2 chiffre equivalent et met pour la ligne 1du fichier 1 2 chiffre equivalent dans une variable passe a la ligne suivante du fichier 2 ligne 2 et fais al meme chose avec la ligne 1 du fichier 1 toujours etc.
Je ne comprends toujours pas tous, mais j'ai l'impression déjà ce que tu définis une fonction sur le produit cartesien des lignes dans les deux fichiers. Pour créer l'ensemble des produits cartesiens, il faut déjà deux boucles imbriquées.
Ensuite, j'ai l'impression que tu veux la cardinalité de l'union des ensembles de nombres dans chaque pair. La plus simple pour ça, c'est de trier les donners, puis utiliser std::set_union.
Mais il reste beaucoup d'inconnus : quel est le format exact des fichiers en entrée (toujours cinq nombres par ligne, ou non), que c'est qu'il faut faire s'il y a une erreur de format (laisser tomber la ligne, et continuer, ou abandonner le traitement). Ensuite, il faudrait bien une définition plus exacte des données sur lesquelles on travaille, ce qu'il signifie, etc. Et pour des raisons purement technique, on aimerait avoir une idée de la taille des données -- le problème est beaucoup plus simple si on pourrait les tenir tous en mémoire.
a la fin j aimerais savoir que avec le fichier 1 ligne une il y 5 ligne du fichier 2 qui ont les meme chiffre et 3 ligne qui ont 4chiffre equivalent etc voila j'expere que jai un peu pres bien expliquer
Pas trop. Au moins, ce ne m'est toujours pas trop clair. Peut-être d'autres ont mieux compris.
-- James Kanze (GABI Software) email: Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
pjb
writes:
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
Non ce n'est pas compréhensible. On n'a là qu'une suite informe de mots et de nombres. Il faudrait écrire des phrases.
-- __Pascal Bourguignon__
<giovannisch@hotmail.com> writes:
donc voila fichier text qui sont defini comme ci dessous:
1234 45 67 89 9 2
etc
etc
le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui
suive le 1234
et compare ligne d un second fichier text aussi defini la meme chose et la
fin je voudrais savoir
que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du
fichier 2
4 chiffre equivalent sur 8 ligne du ficier 2
3 chiffre equivalent sur 14 ligne du fichier 2
etc
jusqua 2 chiffre equivalent
apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne
2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e
ligne il y a equivalene avec la ligne 2 du fichier 1 etc
jusqua la fin
voila j'espere un peu pluscomprensible
Non ce n'est pas compréhensible.
On n'a là qu'une suite informe de mots et de nombres.
Il faudrait écrire des phrases.
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
Non ce n'est pas compréhensible. On n'a là qu'une suite informe de mots et de nombres. Il faudrait écrire des phrases.
-- __Pascal Bourguignon__
Michael DOUBEZ
wrote:
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
Un peu plus. Je reformule: D'un fichier, tu lis des groupes de 5 nombres organisés par ligne (avec un nombre en début de ligne que tu ignore). Ensuite, pour chaque groupe de ces 5 nombre, tu fais ce qui suit: Ouvrir un deuxième fichier de même format Et compter le nombre de lignes qui comportent le même nombre de nombres égaux avec un minimum de deux nombres égaux.
Mathématiquement, tu calcules les cardinalités des intersections des multiensembles.
Pour cela, tu tries tes entrées de 5 nombre (ou tu utilise un multiset) et tu calcules leur intersection avec l'algorithme set_intersection(). Ensuite, il suffit d'obtenir la taille de l'intersection.
Alternativement, tu peux utiliser un iterator qui ne fait que compter le nombre de fois où il est incrémenté dans set_intersection().
struct count_iterator: public std::iterator<std::output_iterator_tag, void> { int* counter;
donc voila fichier text qui sont defini comme ci dessous:
1234 45 67 89 9 2
etc
etc
le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui
suive le 1234
et compare ligne d un second fichier text aussi defini la meme chose et la
fin je voudrais savoir
que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du
fichier 2
4 chiffre equivalent sur 8 ligne du ficier 2
3 chiffre equivalent sur 14 ligne du fichier 2
etc
jusqua 2 chiffre equivalent
apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne
2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e
ligne il y a equivalene avec la ligne 2 du fichier 1 etc
jusqua la fin
voila j'espere un peu pluscomprensible
Un peu plus. Je reformule:
D'un fichier, tu lis des groupes de 5 nombres organisés par ligne (avec
un nombre en début de ligne que tu ignore).
Ensuite, pour chaque groupe de ces 5 nombre, tu fais ce qui suit:
Ouvrir un deuxième fichier de même format Et compter
le nombre de lignes qui comportent le même nombre de nombres égaux
avec un minimum de deux nombres égaux.
Mathématiquement, tu calcules les cardinalités des intersections des
multiensembles.
Pour cela, tu tries tes entrées de 5 nombre (ou tu utilise un multiset)
et tu calcules leur intersection avec l'algorithme set_intersection().
Ensuite, il suffit d'obtenir la taille de l'intersection.
Alternativement, tu peux utiliser un iterator qui ne fait que compter le
nombre de fois où il est incrémenté dans set_intersection().
struct count_iterator:
public std::iterator<std::output_iterator_tag, void>
{
int* counter;
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
Un peu plus. Je reformule: D'un fichier, tu lis des groupes de 5 nombres organisés par ligne (avec un nombre en début de ligne que tu ignore). Ensuite, pour chaque groupe de ces 5 nombre, tu fais ce qui suit: Ouvrir un deuxième fichier de même format Et compter le nombre de lignes qui comportent le même nombre de nombres égaux avec un minimum de deux nombres égaux.
Mathématiquement, tu calcules les cardinalités des intersections des multiensembles.
Pour cela, tu tries tes entrées de 5 nombre (ou tu utilise un multiset) et tu calcules leur intersection avec l'algorithme set_intersection(). Ensuite, il suffit d'obtenir la taille de l'intersection.
Alternativement, tu peux utiliser un iterator qui ne fait que compter le nombre de fois où il est incrémenté dans set_intersection().
struct count_iterator: public std::iterator<std::output_iterator_tag, void> { int* counter;
donc comapre la ligne 1 du fichier avec toute les ligne du fichier 2
1234 12 34 56 67 89 <> 1234 89 56 45 45 56 il y a 2 equivalent le 56 89 donc ajouterai a +1 a t2 par exemple ensuite compare toujours ligne 1 avec ligne deux fu fichier 2 1234 12 34 56 67 89 <>7412 59 67 12 34 01 la aussi 2 equivalence donc ajoute +1 a t2 etc quand fini avec de lire toute le fichier 2
me dit ligne 1 t2=2 dans notre exemple t3= 56 etc etc et aprs l fais la meme chose avec la ligne 2 du fichier 4321 23 32 43 54 65 <> 1234 89 56 45 45 56 la y a rien 4321 23 32 43 54 65 <> 7412 59 67 12 34 01 la non plus 4321 23 32 43 54 65 <> 8523 54 65 32 03 07 la y a 3 donc t3+1 et ainsi de suite je pense plus claire la non
"Michael DOUBEZ" a écrit dans le message de news: 49cb8d94$0$10133$
wrote:
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
Un peu plus. Je reformule: D'un fichier, tu lis des groupes de 5 nombres organisés par ligne (avec un nombre en début de ligne que tu ignore). Ensuite, pour chaque groupe de ces 5 nombre, tu fais ce qui suit: Ouvrir un deuxième fichier de même format Et compter le nombre de lignes qui comportent le même nombre de nombres égaux avec un minimum de deux nombres égaux.
Mathématiquement, tu calcules les cardinalités des intersections des multiensembles.
Pour cela, tu tries tes entrées de 5 nombre (ou tu utilise un multiset) et tu calcules leur intersection avec l'algorithme set_intersection(). Ensuite, il suffit d'obtenir la taille de l'intersection.
Alternativement, tu peux utiliser un iterator qui ne fait que compter le nombre de fois où il est incrémenté dans set_intersection().
struct count_iterator: public std::iterator<std::output_iterator_tag, void> { int* counter;
donc comapre la ligne 1 du fichier avec toute les ligne du fichier 2
1234 12 34 56 67 89 <> 1234 89 56 45 45 56
il y a 2 equivalent le 56 89 donc ajouterai a +1 a t2 par exemple
ensuite compare
toujours ligne 1 avec ligne deux fu fichier 2
1234 12 34 56 67 89 <>7412 59 67 12 34 01
la aussi 2 equivalence donc ajoute +1 a t2
etc
quand fini avec de lire toute le fichier 2
me dit ligne 1 t2=2 dans notre exemple t3= 56 etc etc
et aprs l fais la meme chose avec la ligne 2 du fichier
4321 23 32 43 54 65 <> 1234 89 56 45 45 56
la y a rien
4321 23 32 43 54 65 <> 7412 59 67 12 34 01
la non plus
4321 23 32 43 54 65 <> 8523 54 65 32 03 07
la y a 3 donc t3+1
et ainsi de suite je pense plus claire la non
"Michael DOUBEZ" <michael.doubez@free.fr> a écrit dans le message de news:
49cb8d94$0$10133$426a74cc@news.free.fr...
giovannisch@hotmail.com wrote:
donc voila fichier text qui sont defini comme ci dessous:
1234 45 67 89 9 2
etc
etc
le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui
suive le 1234
et compare ligne d un second fichier text aussi defini la meme chose et
la fin je voudrais savoir
que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du
fichier 2
4 chiffre equivalent sur 8 ligne du ficier 2
3 chiffre equivalent sur 14 ligne du fichier 2
etc
jusqua 2 chiffre equivalent
apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la
ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche
combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc
jusqua la fin
voila j'espere un peu pluscomprensible
Un peu plus. Je reformule:
D'un fichier, tu lis des groupes de 5 nombres organisés par ligne (avec un
nombre en début de ligne que tu ignore).
Ensuite, pour chaque groupe de ces 5 nombre, tu fais ce qui suit:
Ouvrir un deuxième fichier de même format Et compter
le nombre de lignes qui comportent le même nombre de nombres égaux
avec un minimum de deux nombres égaux.
Mathématiquement, tu calcules les cardinalités des intersections des
multiensembles.
Pour cela, tu tries tes entrées de 5 nombre (ou tu utilise un multiset) et
tu calcules leur intersection avec l'algorithme set_intersection().
Ensuite, il suffit d'obtenir la taille de l'intersection.
Alternativement, tu peux utiliser un iterator qui ne fait que compter le
nombre de fois où il est incrémenté dans set_intersection().
struct count_iterator:
public std::iterator<std::output_iterator_tag, void>
{
int* counter;
donc comapre la ligne 1 du fichier avec toute les ligne du fichier 2
1234 12 34 56 67 89 <> 1234 89 56 45 45 56 il y a 2 equivalent le 56 89 donc ajouterai a +1 a t2 par exemple ensuite compare toujours ligne 1 avec ligne deux fu fichier 2 1234 12 34 56 67 89 <>7412 59 67 12 34 01 la aussi 2 equivalence donc ajoute +1 a t2 etc quand fini avec de lire toute le fichier 2
me dit ligne 1 t2=2 dans notre exemple t3= 56 etc etc et aprs l fais la meme chose avec la ligne 2 du fichier 4321 23 32 43 54 65 <> 1234 89 56 45 45 56 la y a rien 4321 23 32 43 54 65 <> 7412 59 67 12 34 01 la non plus 4321 23 32 43 54 65 <> 8523 54 65 32 03 07 la y a 3 donc t3+1 et ainsi de suite je pense plus claire la non
"Michael DOUBEZ" a écrit dans le message de news: 49cb8d94$0$10133$
wrote:
donc voila fichier text qui sont defini comme ci dessous: 1234 45 67 89 9 2 etc etc le premier chiffre 1234 je tiens pas compte il prend les 5 chiffre qui suive le 1234 et compare ligne d un second fichier text aussi defini la meme chose et la fin je voudrais savoir que la ligne du fichier un il y a 5 chiffre equivalent sur deux ligne du fichier 2 4 chiffre equivalent sur 8 ligne du ficier 2 3 chiffre equivalent sur 14 ligne du fichier 2 etc jusqua 2 chiffre equivalent apres quand a fini de verifier el fichier 2 avec la ligne 1 passe a la ligne 2 du fichier 1 et fais la meme chose avec le fichier et recherche combiend e ligne il y a equivalene avec la ligne 2 du fichier 1 etc jusqua la fin voila j'espere un peu pluscomprensible
Un peu plus. Je reformule: D'un fichier, tu lis des groupes de 5 nombres organisés par ligne (avec un nombre en début de ligne que tu ignore). Ensuite, pour chaque groupe de ces 5 nombre, tu fais ce qui suit: Ouvrir un deuxième fichier de même format Et compter le nombre de lignes qui comportent le même nombre de nombres égaux avec un minimum de deux nombres égaux.
Mathématiquement, tu calcules les cardinalités des intersections des multiensembles.
Pour cela, tu tries tes entrées de 5 nombre (ou tu utilise un multiset) et tu calcules leur intersection avec l'algorithme set_intersection(). Ensuite, il suffit d'obtenir la taille de l'intersection.
Alternativement, tu peux utiliser un iterator qui ne fait que compter le nombre de fois où il est incrémenté dans set_intersection().
struct count_iterator: public std::iterator<std::output_iterator_tag, void> { int* counter;