voila jaimerai qu il calcul mais avec retenue des resultat trouver
le prog incremente jusqua 99 et sauve dans un fichier les resultat mais je
sais pas comment faire pour qu il reprenne le resultat et control dans
chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde
exemple
1 2 3 4 5 sauve ce resultat
le prochain resultat serais 1 2 5 6 7 8 etc merci
je le prog avec dev c++ et je pense que vous verrez que je suis super
debutant!
//fichier2 >> nb_00 >> nb_11 >> nb_22 >> nb_33 >> nb_44 >> nb_55 ;
//printf(" ligne a1 %d", nb_11);
//printf(" %d", nb_22);
//printf(" %d", nb_33);
//printf(" %d", nb_44);
//printf(" %d\n", nb_55);
printf(" ligne b1 %d", nb_1);
printf(" %d", nb_2);
printf(" %d", nb_3);
printf(" %d", nb_4);
printf(" %d\n", nb_5);
std::ofstream out("resultat.txt", std::ios::app);
out << nb_1;
out <<" ";
out << nb_2 ;
out <<" ";
out << nb_3;
out <<" ";
out << nb_4 ;
out <<" ";
out << nb_5 ;
out <<":\n ";
do
{
t=0;
//fichier2.open("resultat.txt", ios::in);
//if(!fichier2){
// cerr << "errore: file output non puo' venire aperto.\n";
// exit(1);}
//while(!fichier2.eof()){
//fichier2 >> nb_11 >> nb_22 >> nb_33 >> nb_44 >> nb_55 ;}
if (nb_1==nb_11){t=t+1;}
if (nb_1==nb_22){t=t+1;}
if (nb_1==nb_33){t=t+1;}
if (nb_1==nb_44){t=t+1;}
if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;}
if (nb_2==nb_22){t=t+1;}
if (nb_2==nb_33){t=t+1;}
if (nb_2==nb_44){t=t+1;}
if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;}
if (nb_3==nb_22){t=t+1;}
if (nb_3==nb_33){t=t+1;}
if (nb_3==nb_44){t=t+1;}
if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;}
if (nb_4==nb_22){t=t+1;}
if (nb_4==nb_33){t=t+1;}
if (nb_4==nb_44){t=t+1;}
if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;}
if (nb_5==nb_22){t=t+1;}
if (nb_5==nb_33){t=t+1;}
if (nb_5==nb_44){t=t+1;}
if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;}
if (nb_1==nb_3){t=t+1;}
if (nb_1==nb_4){t=t+1;}
if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;}
if (nb_2==nb_3){t=t+1;}
if (nb_2==nb_4){t=t+1;}
if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;}
if (nb_3==nb_2){t=t+1;}
if (nb_3==nb_4){t=t+1;}
if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;}
if (nb_4==nb_2){t=t+1;}
if (nb_4==nb_3){t=t+1;}
if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;}
if (nb_5==nb_2){t=t+1;}
if (nb_5==nb_3){t=t+1;}
if (nb_5==nb_4){t=t+1;}
if (t<3){
std::ofstream out("resultat.txt", std::ios::app);
out << nb_1;
out <<" ";
out << nb_2 ;
out <<" ";
out << nb_3;
out <<" ";
out << nb_4 ;
out <<" ";
out << nb_5 ;
out <<":\n ";
nb_11=nb_1;
nb_22=nb_2;
nb_33=nb_3;
nb_44=nb_4;
nb_55=nb_5;
}
++nb_5;
if (nb_5==51)
{nb_4=nb_4+1;
nb_5=1;}
if (nb_4==51)
{nb_3=nb_3+1;
nb_4=1;}
if (nb_3==51)
{nb_2=nb_2+1;
nb_3=1;}
if (nb_2==51)
{nb_1=nb_1+1;
nb_2=0;}
voila jaimerai qu il calcul mais avec retenue des resultat trouver
Rappel : fr.comp.lang.c++ est un forum francophone.
Vincent Lascaux
1 2 3 4 5 sauve ce resultat le prochain resultat serais 1 2 5 6 7 8 etc merci
C'est quoi la logique là ? Pourquoi 3 et 4 ont été supprimés ?
int count; count=0;
int count = 0;
ifstream fichier; int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t;
Arg... Tu veux probablement int nb[6]; mais ca dit pas du tout ce qu'est nb. Je n'ai aucune idée du sens de r1,r2,r3,r4,r5,r0,z,i,i2,v,t Essaie de choisir des noms de variable plus parlants
int rc[99]; int rct[99]; //int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
Si tu postes un code qui va potentiellement être lu par des dizaines de personnes (quoi que vu la déclaration précédente des variables, je doute que quelqu'un soit allé beaucoup plus loin qu'ici), tu pourrais au moins prendre le temps de supprimer le code commenté !
Bon, j'arrête là la lecture du code qui m'a l'air assez horrible (utilises des boucles, des sous fonctions, des commentaires). Essaies de préciser quel est ton problème. Déclare tes variables le plus prêt possible de leur utilisation (tes variables fichier, fichier2, fichier3 sont utilisées un bon paquet de lignes après leur déclaration, il faut mettre leur déclaration juste avant le fichier.open...)
Je ne réponderai pas à un message qui contient du code que tu n'as pas cherché à rendre lisible (il y a des variables déclarées et jamais utilisées dans ton code... par exemple rc, rct, count).
-- Vincent
1 2 3 4 5 sauve ce resultat
le prochain resultat serais 1 2 5 6 7 8 etc merci
C'est quoi la logique là ? Pourquoi 3 et 4 ont été supprimés ?
int count;
count=0;
int count = 0;
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t;
Arg... Tu veux probablement
int nb[6]; mais ca dit pas du tout ce qu'est nb.
Je n'ai aucune idée du sens de r1,r2,r3,r4,r5,r0,z,i,i2,v,t
Essaie de choisir des noms de variable plus parlants
int rc[99];
int rct[99];
//int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
Si tu postes un code qui va potentiellement être lu par des dizaines de
personnes (quoi que vu la déclaration précédente des variables, je doute que
quelqu'un soit allé beaucoup plus loin qu'ici), tu pourrais au moins prendre
le temps de supprimer le code commenté !
Bon, j'arrête là la lecture du code qui m'a l'air assez horrible (utilises
des boucles, des sous fonctions, des commentaires). Essaies de préciser quel
est ton problème. Déclare tes variables le plus prêt possible de leur
utilisation (tes variables fichier, fichier2, fichier3 sont utilisées un bon
paquet de lignes après leur déclaration, il faut mettre leur déclaration
juste avant le fichier.open...)
Je ne réponderai pas à un message qui contient du code que tu n'as pas
cherché à rendre lisible (il y a des variables déclarées et jamais utilisées
dans ton code... par exemple rc, rct, count).
1 2 3 4 5 sauve ce resultat le prochain resultat serais 1 2 5 6 7 8 etc merci
C'est quoi la logique là ? Pourquoi 3 et 4 ont été supprimés ?
int count; count=0;
int count = 0;
ifstream fichier; int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t;
Arg... Tu veux probablement int nb[6]; mais ca dit pas du tout ce qu'est nb. Je n'ai aucune idée du sens de r1,r2,r3,r4,r5,r0,z,i,i2,v,t Essaie de choisir des noms de variable plus parlants
int rc[99]; int rct[99]; //int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
Si tu postes un code qui va potentiellement être lu par des dizaines de personnes (quoi que vu la déclaration précédente des variables, je doute que quelqu'un soit allé beaucoup plus loin qu'ici), tu pourrais au moins prendre le temps de supprimer le code commenté !
Bon, j'arrête là la lecture du code qui m'a l'air assez horrible (utilises des boucles, des sous fonctions, des commentaires). Essaies de préciser quel est ton problème. Déclare tes variables le plus prêt possible de leur utilisation (tes variables fichier, fichier2, fichier3 sont utilisées un bon paquet de lignes après leur déclaration, il faut mettre leur déclaration juste avant le fichier.open...)
Je ne réponderai pas à un message qui contient du code que tu n'as pas cherché à rendre lisible (il y a des variables déclarées et jamais utilisées dans ton code... par exemple rc, rct, count).
-- Vincent
Arnaud Meurgues
Fabien LE LEZ wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver Rappel : fr.comp.lang.c++ est un forum francophone.
C'est pas sympa. Un italien fait l'effort de rédiger un message en français. Que ce ne soit pas compréhensible, c'est une chose, mais de là est le jeter parce que ça ne l'est pas alors qu'il a essayé comme il a pu, c'est sévère.
-- Arnaud
Fabien LE LEZ wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver
Rappel : fr.comp.lang.c++ est un forum francophone.
C'est pas sympa. Un italien fait l'effort de rédiger un message en
français. Que ce ne soit pas compréhensible, c'est une chose, mais de là
est le jeter parce que ça ne l'est pas alors qu'il a essayé comme il a
pu, c'est sévère.
voila jaimerai qu il calcul mais avec retenue des resultat trouver Rappel : fr.comp.lang.c++ est un forum francophone.
C'est pas sympa. Un italien fait l'effort de rédiger un message en français. Que ce ne soit pas compréhensible, c'est une chose, mais de là est le jeter parce que ça ne l'est pas alors qu'il a essayé comme il a pu, c'est sévère.
-- Arnaud
Arnaud Meurgues
giovanni wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver le prog incremente jusqua 99 et sauve dans un fichier les resultat mais je sais pas comment faire pour qu il reprenne le resultat et control dans chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde exemple 1 2 3 4 5 sauve ce resultat le prochain resultat serais 1 2 5 6 7 8 etc merci
Ce n'est pas clair du tout. On n'arrive pas à comprendre ce que doit faire le programme.
int main() { clock_t start = clock(); int count; count=0;
Ici, on peut initialiser en même temps qu'on déclare : int count = 0;
ifstream fichier; int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t; int rc[99]; int rct[99]; char x,y; z=1; ifstream fichier3; int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6; ifstream fichier2; int nb_11,nb_22, nb_33,nb_44, nb_55; ifstream result; ok_1=0; ok_2=0; ok_3=0; ok_4=0; ok_5=0; ok_6=0;
Lorsqu'on fait une longue série d'actions identiques, c'est en général signe qu'il faudrait utiliser une boucle. Quelque chose comme : for (int i=0; i<6 ; i++) ok_i = 0;
Mais on ne peut pas utiliser un nombre pour décrire le nom d'une variable (ok_i ne veut pas dire ok_1 puis ok_2,...). Donc, il est préférable d'utiliser un tableau qu'on pourra indexer avec i :
int ok[6]; for (int i=0; i<6 ; i++) ok[i] = 0;
Mais les tableaux, en C++, peuvent être avantageusement remplacés par des vecteurs (en ajoutant #include <vector>)
Mais lorsqu'on veut initialiser toutes les valeurs d'un vecteur à une valeur donnée, on peut le faire directement :
std::vector<int> ok(6,0)'
Par ailleurs, vous ne vous servez jamais des variables ok_x, on peut donc les supprimer, ainsi que rc[99], rct[99], r1, r2, r3, r4, r5, r0, z, i, i2, v, rc[99], rct[99], x, y, nb_0, fichier2, fichier3, result.
Les déclarations deviennent :
int count = 0; int t; int nb_1, nb_2, nb_3, nb_4, nb_5; int nb_11, nb_22, nb_33, nb_44, nb_55; ifstream fichier;
std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n ";
Là encore, on peut faire une boucle... Par ailleurs, je ne comprends pas trop pourquoi on écrit dans le fichier résultat ce qu'on a lu dans le fichier calc.
do { t=0;
if (nb_1==nb_11){t=t+1;} if (nb_1==nb_22){t=t+1;} if (nb_1==nb_33){t=t+1;} if (nb_1==nb_44){t=t+1;} if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;} if (nb_2==nb_22){t=t+1;} if (nb_2==nb_33){t=t+1;} if (nb_2==nb_44){t=t+1;} if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;} if (nb_3==nb_22){t=t+1;} if (nb_3==nb_33){t=t+1;} if (nb_3==nb_44){t=t+1;} if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;} if (nb_4==nb_22){t=t+1;} if (nb_4==nb_33){t=t+1;} if (nb_4==nb_44){t=t+1;} if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;} if (nb_5==nb_22){t=t+1;} if (nb_5==nb_33){t=t+1;} if (nb_5==nb_44){t=t+1;} if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;} if (nb_1==nb_3){t=t+1;} if (nb_1==nb_4){t=t+1;} if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;} if (nb_2==nb_3){t=t+1;} if (nb_2==nb_4){t=t+1;} if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;} if (nb_3==nb_2){t=t+1;} if (nb_3==nb_4){t=t+1;} if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;} if (nb_4==nb_2){t=t+1;} if (nb_4==nb_3){t=t+1;} if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;} if (nb_5==nb_2){t=t+1;} if (nb_5==nb_3){t=t+1;} if (nb_5==nb_4){t=t+1;}
if (t<3){ std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n "; nb_11=nb_1; nb_22=nb_2; nb_33=nb_3; nb_44=nb_4; nb_55=nb_5; }
++nb_5; if (nb_5=Q) {nb_4=nb_4+1; nb_5=1;} if (nb_4=Q) {nb_3=nb_3+1; nb_4=1;} if (nb_3=Q) {nb_2=nb_2+1; nb_3=1;} if (nb_2=Q) {nb_1=nb_1+1; nb_2=0;}
} while (nb_1 < 99) ;
Là, je ne comprends pas ce que doit faire le programme. Une description plus précise de ce qu'il doit faire (est-ce des additions avec retenue ? Mais alors, on additionne quoi à quoi ?) permettrait d'y voir plus clair.
En tout cas, il est clair qu'il doit y avoir moyen de remplacer tous ces codes répétitifs par des boucles. Ensuite, on verra qu'il est peut-être possible de remplacer les boucles par des algorithmes s'appliquant automatiquement aux éléments d'un conteneur comme vector.
Il y aurait encore d'autres commentaires à faire, mais chaque chose en son temps.
-- Arnaud
giovanni wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver
le prog incremente jusqua 99 et sauve dans un fichier les resultat mais je
sais pas comment faire pour qu il reprenne le resultat et control dans
chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde
exemple
1 2 3 4 5 sauve ce resultat
le prochain resultat serais 1 2 5 6 7 8 etc merci
Ce n'est pas clair du tout. On n'arrive pas à comprendre ce que doit
faire le programme.
int main()
{
clock_t start = clock();
int count;
count=0;
Ici, on peut initialiser en même temps qu'on déclare :
int count = 0;
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t;
int rc[99];
int rct[99];
char x,y;
z=1;
ifstream fichier3;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6;
ifstream fichier2;
int nb_11,nb_22, nb_33,nb_44, nb_55;
ifstream result;
ok_1=0;
ok_2=0;
ok_3=0;
ok_4=0;
ok_5=0;
ok_6=0;
Lorsqu'on fait une longue série d'actions identiques, c'est en général
signe qu'il faudrait utiliser une boucle.
Quelque chose comme :
for (int i=0; i<6 ; i++)
ok_i = 0;
Mais on ne peut pas utiliser un nombre pour décrire le nom d'une
variable (ok_i ne veut pas dire ok_1 puis ok_2,...). Donc, il est
préférable d'utiliser un tableau qu'on pourra indexer avec i :
int ok[6];
for (int i=0; i<6 ; i++)
ok[i] = 0;
Mais les tableaux, en C++, peuvent être avantageusement remplacés par
des vecteurs (en ajoutant #include <vector>)
Mais lorsqu'on veut initialiser toutes les valeurs d'un vecteur à une
valeur donnée, on peut le faire directement :
std::vector<int> ok(6,0)'
Par ailleurs, vous ne vous servez jamais des variables ok_x, on peut
donc les supprimer, ainsi que rc[99], rct[99], r1, r2, r3, r4, r5, r0,
z, i, i2, v, rc[99], rct[99], x, y, nb_0, fichier2, fichier3, result.
Les déclarations deviennent :
int count = 0;
int t;
int nb_1, nb_2, nb_3, nb_4, nb_5;
int nb_11, nb_22, nb_33, nb_44, nb_55;
ifstream fichier;
std::ofstream out("resultat.txt", std::ios::app);
out << nb_1;
out <<" ";
out << nb_2 ;
out <<" ";
out << nb_3;
out <<" ";
out << nb_4 ;
out <<" ";
out << nb_5 ;
out <<":n ";
Là encore, on peut faire une boucle...
Par ailleurs, je ne comprends pas trop pourquoi on écrit dans le fichier
résultat ce qu'on a lu dans le fichier calc.
do
{
t=0;
if (nb_1==nb_11){t=t+1;}
if (nb_1==nb_22){t=t+1;}
if (nb_1==nb_33){t=t+1;}
if (nb_1==nb_44){t=t+1;}
if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;}
if (nb_2==nb_22){t=t+1;}
if (nb_2==nb_33){t=t+1;}
if (nb_2==nb_44){t=t+1;}
if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;}
if (nb_3==nb_22){t=t+1;}
if (nb_3==nb_33){t=t+1;}
if (nb_3==nb_44){t=t+1;}
if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;}
if (nb_4==nb_22){t=t+1;}
if (nb_4==nb_33){t=t+1;}
if (nb_4==nb_44){t=t+1;}
if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;}
if (nb_5==nb_22){t=t+1;}
if (nb_5==nb_33){t=t+1;}
if (nb_5==nb_44){t=t+1;}
if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;}
if (nb_1==nb_3){t=t+1;}
if (nb_1==nb_4){t=t+1;}
if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;}
if (nb_2==nb_3){t=t+1;}
if (nb_2==nb_4){t=t+1;}
if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;}
if (nb_3==nb_2){t=t+1;}
if (nb_3==nb_4){t=t+1;}
if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;}
if (nb_4==nb_2){t=t+1;}
if (nb_4==nb_3){t=t+1;}
if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;}
if (nb_5==nb_2){t=t+1;}
if (nb_5==nb_3){t=t+1;}
if (nb_5==nb_4){t=t+1;}
if (t<3){
std::ofstream out("resultat.txt", std::ios::app);
out << nb_1;
out <<" ";
out << nb_2 ;
out <<" ";
out << nb_3;
out <<" ";
out << nb_4 ;
out <<" ";
out << nb_5 ;
out <<":n ";
nb_11=nb_1;
nb_22=nb_2;
nb_33=nb_3;
nb_44=nb_4;
nb_55=nb_5;
}
++nb_5;
if (nb_5=Q)
{nb_4=nb_4+1;
nb_5=1;}
if (nb_4=Q)
{nb_3=nb_3+1;
nb_4=1;}
if (nb_3=Q)
{nb_2=nb_2+1;
nb_3=1;}
if (nb_2=Q)
{nb_1=nb_1+1;
nb_2=0;}
}
while (nb_1 < 99) ;
Là, je ne comprends pas ce que doit faire le programme. Une description
plus précise de ce qu'il doit faire (est-ce des additions avec retenue ?
Mais alors, on additionne quoi à quoi ?) permettrait d'y voir plus clair.
En tout cas, il est clair qu'il doit y avoir moyen de remplacer tous ces
codes répétitifs par des boucles.
Ensuite, on verra qu'il est peut-être possible de remplacer les boucles
par des algorithmes s'appliquant automatiquement aux éléments d'un
conteneur comme vector.
Il y aurait encore d'autres commentaires à faire, mais chaque chose en
son temps.
voila jaimerai qu il calcul mais avec retenue des resultat trouver le prog incremente jusqua 99 et sauve dans un fichier les resultat mais je sais pas comment faire pour qu il reprenne le resultat et control dans chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde exemple 1 2 3 4 5 sauve ce resultat le prochain resultat serais 1 2 5 6 7 8 etc merci
Ce n'est pas clair du tout. On n'arrive pas à comprendre ce que doit faire le programme.
int main() { clock_t start = clock(); int count; count=0;
Ici, on peut initialiser en même temps qu'on déclare : int count = 0;
ifstream fichier; int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t; int rc[99]; int rct[99]; char x,y; z=1; ifstream fichier3; int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6; ifstream fichier2; int nb_11,nb_22, nb_33,nb_44, nb_55; ifstream result; ok_1=0; ok_2=0; ok_3=0; ok_4=0; ok_5=0; ok_6=0;
Lorsqu'on fait une longue série d'actions identiques, c'est en général signe qu'il faudrait utiliser une boucle. Quelque chose comme : for (int i=0; i<6 ; i++) ok_i = 0;
Mais on ne peut pas utiliser un nombre pour décrire le nom d'une variable (ok_i ne veut pas dire ok_1 puis ok_2,...). Donc, il est préférable d'utiliser un tableau qu'on pourra indexer avec i :
int ok[6]; for (int i=0; i<6 ; i++) ok[i] = 0;
Mais les tableaux, en C++, peuvent être avantageusement remplacés par des vecteurs (en ajoutant #include <vector>)
Mais lorsqu'on veut initialiser toutes les valeurs d'un vecteur à une valeur donnée, on peut le faire directement :
std::vector<int> ok(6,0)'
Par ailleurs, vous ne vous servez jamais des variables ok_x, on peut donc les supprimer, ainsi que rc[99], rct[99], r1, r2, r3, r4, r5, r0, z, i, i2, v, rc[99], rct[99], x, y, nb_0, fichier2, fichier3, result.
Les déclarations deviennent :
int count = 0; int t; int nb_1, nb_2, nb_3, nb_4, nb_5; int nb_11, nb_22, nb_33, nb_44, nb_55; ifstream fichier;
std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n ";
Là encore, on peut faire une boucle... Par ailleurs, je ne comprends pas trop pourquoi on écrit dans le fichier résultat ce qu'on a lu dans le fichier calc.
do { t=0;
if (nb_1==nb_11){t=t+1;} if (nb_1==nb_22){t=t+1;} if (nb_1==nb_33){t=t+1;} if (nb_1==nb_44){t=t+1;} if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;} if (nb_2==nb_22){t=t+1;} if (nb_2==nb_33){t=t+1;} if (nb_2==nb_44){t=t+1;} if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;} if (nb_3==nb_22){t=t+1;} if (nb_3==nb_33){t=t+1;} if (nb_3==nb_44){t=t+1;} if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;} if (nb_4==nb_22){t=t+1;} if (nb_4==nb_33){t=t+1;} if (nb_4==nb_44){t=t+1;} if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;} if (nb_5==nb_22){t=t+1;} if (nb_5==nb_33){t=t+1;} if (nb_5==nb_44){t=t+1;} if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;} if (nb_1==nb_3){t=t+1;} if (nb_1==nb_4){t=t+1;} if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;} if (nb_2==nb_3){t=t+1;} if (nb_2==nb_4){t=t+1;} if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;} if (nb_3==nb_2){t=t+1;} if (nb_3==nb_4){t=t+1;} if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;} if (nb_4==nb_2){t=t+1;} if (nb_4==nb_3){t=t+1;} if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;} if (nb_5==nb_2){t=t+1;} if (nb_5==nb_3){t=t+1;} if (nb_5==nb_4){t=t+1;}
if (t<3){ std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n "; nb_11=nb_1; nb_22=nb_2; nb_33=nb_3; nb_44=nb_4; nb_55=nb_5; }
++nb_5; if (nb_5=Q) {nb_4=nb_4+1; nb_5=1;} if (nb_4=Q) {nb_3=nb_3+1; nb_4=1;} if (nb_3=Q) {nb_2=nb_2+1; nb_3=1;} if (nb_2=Q) {nb_1=nb_1+1; nb_2=0;}
} while (nb_1 < 99) ;
Là, je ne comprends pas ce que doit faire le programme. Une description plus précise de ce qu'il doit faire (est-ce des additions avec retenue ? Mais alors, on additionne quoi à quoi ?) permettrait d'y voir plus clair.
En tout cas, il est clair qu'il doit y avoir moyen de remplacer tous ces codes répétitifs par des boucles. Ensuite, on verra qu'il est peut-être possible de remplacer les boucles par des algorithmes s'appliquant automatiquement aux éléments d'un conteneur comme vector.
Il y aurait encore d'autres commentaires à faire, mais chaque chose en son temps.
-- Arnaud
giovanni
oui je sais mais comme j'ai ditdebutant donc les vector j'ai pas reussi a les faire pour ca il y a des reste int rc[99];
int rct[99]; ca pas prob je les enleve oublier tout simplement
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99 et dois me enregistrer dans un fichier apres tri je veu pas qu il enregistre un resultat ou il y 3 chiffre identique au deja enregistre sortie .. exemple 1 2 3 4 5 1 2 3 4 6 je veu pas enregistrer a cause 1 2 3 ou 2 3 4 identiqueet deja sauver ... le suivant normalement serais 1 2 6 7 8 etc "Arnaud Meurgues" a écrit dans le message de news: 43d5ec78$0$16218$
giovanni wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver le prog incremente jusqua 99 et sauve dans un fichier les resultat mais je sais pas comment faire pour qu il reprenne le resultat et control dans chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde exemple 1 2 3 4 5 sauve ce resultat le prochain resultat serais 1 2 5 6 7 8 etc merci
Ce n'est pas clair du tout. On n'arrive pas à comprendre ce que doit faire le programme.
int main() { clock_t start = clock(); int count; count=0;
Ici, on peut initialiser en même temps qu'on déclare : int count = 0;
ifstream fichier; int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t; int rc[99]; int rct[99]; char x,y; z=1; ifstream fichier3; int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6; ifstream fichier2; int nb_11,nb_22, nb_33,nb_44, nb_55; ifstream result; ok_1=0; ok_2=0; ok_3=0; ok_4=0; ok_5=0; ok_6=0;
Lorsqu'on fait une longue série d'actions identiques, c'est en général signe qu'il faudrait utiliser une boucle. Quelque chose comme : for (int i=0; i<6 ; i++) ok_i = 0;
Mais on ne peut pas utiliser un nombre pour décrire le nom d'une variable (ok_i ne veut pas dire ok_1 puis ok_2,...). Donc, il est préférable d'utiliser un tableau qu'on pourra indexer avec i :
int ok[6]; for (int i=0; i<6 ; i++) ok[i] = 0;
Mais les tableaux, en C++, peuvent être avantageusement remplacés par des vecteurs (en ajoutant #include <vector>)
Mais lorsqu'on veut initialiser toutes les valeurs d'un vecteur à une valeur donnée, on peut le faire directement :
std::vector<int> ok(6,0)'
Par ailleurs, vous ne vous servez jamais des variables ok_x, on peut donc les supprimer, ainsi que rc[99], rct[99], r1, r2, r3, r4, r5, r0, z, i, i2, v, rc[99], rct[99], x, y, nb_0, fichier2, fichier3, result.
Les déclarations deviennent :
int count = 0; int t; int nb_1, nb_2, nb_3, nb_4, nb_5; int nb_11, nb_22, nb_33, nb_44, nb_55; ifstream fichier;
std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n ";
Là encore, on peut faire une boucle... Par ailleurs, je ne comprends pas trop pourquoi on écrit dans le fichier résultat ce qu'on a lu dans le fichier calc.
do { t=0;
if (nb_1==nb_11){t=t+1;} if (nb_1==nb_22){t=t+1;} if (nb_1==nb_33){t=t+1;} if (nb_1==nb_44){t=t+1;} if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;} if (nb_2==nb_22){t=t+1;} if (nb_2==nb_33){t=t+1;} if (nb_2==nb_44){t=t+1;} if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;} if (nb_3==nb_22){t=t+1;} if (nb_3==nb_33){t=t+1;} if (nb_3==nb_44){t=t+1;} if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;} if (nb_4==nb_22){t=t+1;} if (nb_4==nb_33){t=t+1;} if (nb_4==nb_44){t=t+1;} if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;} if (nb_5==nb_22){t=t+1;} if (nb_5==nb_33){t=t+1;} if (nb_5==nb_44){t=t+1;} if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;} if (nb_1==nb_3){t=t+1;} if (nb_1==nb_4){t=t+1;} if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;} if (nb_2==nb_3){t=t+1;} if (nb_2==nb_4){t=t+1;} if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;} if (nb_3==nb_2){t=t+1;} if (nb_3==nb_4){t=t+1;} if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;} if (nb_4==nb_2){t=t+1;} if (nb_4==nb_3){t=t+1;} if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;} if (nb_5==nb_2){t=t+1;} if (nb_5==nb_3){t=t+1;} if (nb_5==nb_4){t=t+1;}
if (t<3){ std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n "; nb_11=nb_1; nb_22=nb_2; nb_33=nb_3; nb_44=nb_4; nb_55=nb_5; }
++nb_5; if (nb_5=Q) {nb_4=nb_4+1; nb_5=1;} if (nb_4=Q) {nb_3=nb_3+1; nb_4=1;} if (nb_3=Q) {nb_2=nb_2+1; nb_3=1;} if (nb_2=Q) {nb_1=nb_1+1; nb_2=0;}
} while (nb_1 < 99) ;
Là, je ne comprends pas ce que doit faire le programme. Une description plus précise de ce qu'il doit faire (est-ce des additions avec retenue ? Mais alors, on additionne quoi à quoi ?) permettrait d'y voir plus clair.
En tout cas, il est clair qu'il doit y avoir moyen de remplacer tous ces codes répétitifs par des boucles. Ensuite, on verra qu'il est peut-être possible de remplacer les boucles par des algorithmes s'appliquant automatiquement aux éléments d'un conteneur comme vector.
Il y aurait encore d'autres commentaires à faire, mais chaque chose en son temps.
-- Arnaud
oui je sais mais comme j'ai ditdebutant donc les vector j'ai pas reussi a
les faire pour ca il y a des reste
int rc[99];
int rct[99];
ca pas prob je les enleve oublier tout simplement
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99
et dois me enregistrer dans un fichier apres tri
je veu pas qu il enregistre un resultat ou il y 3 chiffre identique au deja
enregistre sortie ..
exemple
1 2 3 4 5
1 2 3 4 6 je veu pas enregistrer a cause 1 2 3 ou 2 3 4 identiqueet deja
sauver ...
le suivant normalement serais
1 2 6 7 8 etc
"Arnaud Meurgues" <news.arnaud@meurgues.non.fr.invalid> a écrit dans le
message de news: 43d5ec78$0$16218$626a54ce@news.free.fr...
giovanni wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver
le prog incremente jusqua 99 et sauve dans un fichier les resultat mais
je
sais pas comment faire pour qu il reprenne le resultat et control dans
chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde
exemple
1 2 3 4 5 sauve ce resultat
le prochain resultat serais 1 2 5 6 7 8 etc merci
Ce n'est pas clair du tout. On n'arrive pas à comprendre ce que doit
faire le programme.
int main()
{
clock_t start = clock();
int count;
count=0;
Ici, on peut initialiser en même temps qu'on déclare :
int count = 0;
ifstream fichier;
int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t;
int rc[99];
int rct[99];
char x,y;
z=1;
ifstream fichier3;
int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6;
ifstream fichier2;
int nb_11,nb_22, nb_33,nb_44, nb_55;
ifstream result;
ok_1=0;
ok_2=0;
ok_3=0;
ok_4=0;
ok_5=0;
ok_6=0;
Lorsqu'on fait une longue série d'actions identiques, c'est en général
signe qu'il faudrait utiliser une boucle.
Quelque chose comme :
for (int i=0; i<6 ; i++)
ok_i = 0;
Mais on ne peut pas utiliser un nombre pour décrire le nom d'une
variable (ok_i ne veut pas dire ok_1 puis ok_2,...). Donc, il est
préférable d'utiliser un tableau qu'on pourra indexer avec i :
int ok[6];
for (int i=0; i<6 ; i++)
ok[i] = 0;
Mais les tableaux, en C++, peuvent être avantageusement remplacés par
des vecteurs (en ajoutant #include <vector>)
Mais lorsqu'on veut initialiser toutes les valeurs d'un vecteur à une
valeur donnée, on peut le faire directement :
std::vector<int> ok(6,0)'
Par ailleurs, vous ne vous servez jamais des variables ok_x, on peut
donc les supprimer, ainsi que rc[99], rct[99], r1, r2, r3, r4, r5, r0,
z, i, i2, v, rc[99], rct[99], x, y, nb_0, fichier2, fichier3, result.
Les déclarations deviennent :
int count = 0;
int t;
int nb_1, nb_2, nb_3, nb_4, nb_5;
int nb_11, nb_22, nb_33, nb_44, nb_55;
ifstream fichier;
std::ofstream out("resultat.txt", std::ios::app);
out << nb_1;
out <<" ";
out << nb_2 ;
out <<" ";
out << nb_3;
out <<" ";
out << nb_4 ;
out <<" ";
out << nb_5 ;
out <<":n ";
Là encore, on peut faire une boucle...
Par ailleurs, je ne comprends pas trop pourquoi on écrit dans le fichier
résultat ce qu'on a lu dans le fichier calc.
do
{
t=0;
if (nb_1==nb_11){t=t+1;}
if (nb_1==nb_22){t=t+1;}
if (nb_1==nb_33){t=t+1;}
if (nb_1==nb_44){t=t+1;}
if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;}
if (nb_2==nb_22){t=t+1;}
if (nb_2==nb_33){t=t+1;}
if (nb_2==nb_44){t=t+1;}
if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;}
if (nb_3==nb_22){t=t+1;}
if (nb_3==nb_33){t=t+1;}
if (nb_3==nb_44){t=t+1;}
if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;}
if (nb_4==nb_22){t=t+1;}
if (nb_4==nb_33){t=t+1;}
if (nb_4==nb_44){t=t+1;}
if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;}
if (nb_5==nb_22){t=t+1;}
if (nb_5==nb_33){t=t+1;}
if (nb_5==nb_44){t=t+1;}
if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;}
if (nb_1==nb_3){t=t+1;}
if (nb_1==nb_4){t=t+1;}
if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;}
if (nb_2==nb_3){t=t+1;}
if (nb_2==nb_4){t=t+1;}
if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;}
if (nb_3==nb_2){t=t+1;}
if (nb_3==nb_4){t=t+1;}
if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;}
if (nb_4==nb_2){t=t+1;}
if (nb_4==nb_3){t=t+1;}
if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;}
if (nb_5==nb_2){t=t+1;}
if (nb_5==nb_3){t=t+1;}
if (nb_5==nb_4){t=t+1;}
if (t<3){
std::ofstream out("resultat.txt", std::ios::app);
out << nb_1;
out <<" ";
out << nb_2 ;
out <<" ";
out << nb_3;
out <<" ";
out << nb_4 ;
out <<" ";
out << nb_5 ;
out <<":n ";
nb_11=nb_1;
nb_22=nb_2;
nb_33=nb_3;
nb_44=nb_4;
nb_55=nb_5;
}
++nb_5;
if (nb_5=Q)
{nb_4=nb_4+1;
nb_5=1;}
if (nb_4=Q)
{nb_3=nb_3+1;
nb_4=1;}
if (nb_3=Q)
{nb_2=nb_2+1;
nb_3=1;}
if (nb_2=Q)
{nb_1=nb_1+1;
nb_2=0;}
}
while (nb_1 < 99) ;
Là, je ne comprends pas ce que doit faire le programme. Une description
plus précise de ce qu'il doit faire (est-ce des additions avec retenue ?
Mais alors, on additionne quoi à quoi ?) permettrait d'y voir plus clair.
En tout cas, il est clair qu'il doit y avoir moyen de remplacer tous ces
codes répétitifs par des boucles.
Ensuite, on verra qu'il est peut-être possible de remplacer les boucles
par des algorithmes s'appliquant automatiquement aux éléments d'un
conteneur comme vector.
Il y aurait encore d'autres commentaires à faire, mais chaque chose en
son temps.
oui je sais mais comme j'ai ditdebutant donc les vector j'ai pas reussi a les faire pour ca il y a des reste int rc[99];
int rct[99]; ca pas prob je les enleve oublier tout simplement
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99 et dois me enregistrer dans un fichier apres tri je veu pas qu il enregistre un resultat ou il y 3 chiffre identique au deja enregistre sortie .. exemple 1 2 3 4 5 1 2 3 4 6 je veu pas enregistrer a cause 1 2 3 ou 2 3 4 identiqueet deja sauver ... le suivant normalement serais 1 2 6 7 8 etc "Arnaud Meurgues" a écrit dans le message de news: 43d5ec78$0$16218$
giovanni wrote:
voila jaimerai qu il calcul mais avec retenue des resultat trouver le prog incremente jusqua 99 et sauve dans un fichier les resultat mais je sais pas comment faire pour qu il reprenne le resultat et control dans chaque ligne s il y a 3 chiffre identique saute l operation de sauvegarde exemple 1 2 3 4 5 sauve ce resultat le prochain resultat serais 1 2 5 6 7 8 etc merci
Ce n'est pas clair du tout. On n'arrive pas à comprendre ce que doit faire le programme.
int main() { clock_t start = clock(); int count; count=0;
Ici, on peut initialiser en même temps qu'on déclare : int count = 0;
ifstream fichier; int nb_0, nb_1, nb_2, nb_3, nb_4, nb_5, r1,r2,r3,r4,r5,r0,z,i,i2,v,t; int rc[99]; int rct[99]; char x,y; z=1; ifstream fichier3; int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6; ifstream fichier2; int nb_11,nb_22, nb_33,nb_44, nb_55; ifstream result; ok_1=0; ok_2=0; ok_3=0; ok_4=0; ok_5=0; ok_6=0;
Lorsqu'on fait une longue série d'actions identiques, c'est en général signe qu'il faudrait utiliser une boucle. Quelque chose comme : for (int i=0; i<6 ; i++) ok_i = 0;
Mais on ne peut pas utiliser un nombre pour décrire le nom d'une variable (ok_i ne veut pas dire ok_1 puis ok_2,...). Donc, il est préférable d'utiliser un tableau qu'on pourra indexer avec i :
int ok[6]; for (int i=0; i<6 ; i++) ok[i] = 0;
Mais les tableaux, en C++, peuvent être avantageusement remplacés par des vecteurs (en ajoutant #include <vector>)
Mais lorsqu'on veut initialiser toutes les valeurs d'un vecteur à une valeur donnée, on peut le faire directement :
std::vector<int> ok(6,0)'
Par ailleurs, vous ne vous servez jamais des variables ok_x, on peut donc les supprimer, ainsi que rc[99], rct[99], r1, r2, r3, r4, r5, r0, z, i, i2, v, rc[99], rct[99], x, y, nb_0, fichier2, fichier3, result.
Les déclarations deviennent :
int count = 0; int t; int nb_1, nb_2, nb_3, nb_4, nb_5; int nb_11, nb_22, nb_33, nb_44, nb_55; ifstream fichier;
std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n ";
Là encore, on peut faire une boucle... Par ailleurs, je ne comprends pas trop pourquoi on écrit dans le fichier résultat ce qu'on a lu dans le fichier calc.
do { t=0;
if (nb_1==nb_11){t=t+1;} if (nb_1==nb_22){t=t+1;} if (nb_1==nb_33){t=t+1;} if (nb_1==nb_44){t=t+1;} if (nb_1==nb_55){t=t+1;}
if (nb_2==nb_11){t=t+1;} if (nb_2==nb_22){t=t+1;} if (nb_2==nb_33){t=t+1;} if (nb_2==nb_44){t=t+1;} if (nb_2==nb_55){t=t+1;}
if (nb_3==nb_11){t=t+1;} if (nb_3==nb_22){t=t+1;} if (nb_3==nb_33){t=t+1;} if (nb_3==nb_44){t=t+1;} if (nb_3==nb_55){t=t+1;}
if (nb_4==nb_11){t=t+1;} if (nb_4==nb_22){t=t+1;} if (nb_4==nb_33){t=t+1;} if (nb_4==nb_44){t=t+1;} if (nb_4==nb_55){t=t+1;}
if (nb_5==nb_11){t=t+1;} if (nb_5==nb_22){t=t+1;} if (nb_5==nb_33){t=t+1;} if (nb_5==nb_44){t=t+1;} if (nb_5==nb_55){t=t+1;}
if (nb_1==nb_2){t=t+1;} if (nb_1==nb_3){t=t+1;} if (nb_1==nb_4){t=t+1;} if (nb_1==nb_5){t=t+1;}
if (nb_2==nb_1){t=t+1;} if (nb_2==nb_3){t=t+1;} if (nb_2==nb_4){t=t+1;} if (nb_2==nb_5){t=t+1;}
if (nb_3==nb_1){t=t+1;} if (nb_3==nb_2){t=t+1;} if (nb_3==nb_4){t=t+1;} if (nb_3==nb_5){t=t+1;}
if (nb_4==nb_1){t=t+1;} if (nb_4==nb_2){t=t+1;} if (nb_4==nb_3){t=t+1;} if (nb_4==nb_5){t=t+1;}
if (nb_5==nb_1){t=t+1;} if (nb_5==nb_2){t=t+1;} if (nb_5==nb_3){t=t+1;} if (nb_5==nb_4){t=t+1;}
if (t<3){ std::ofstream out("resultat.txt", std::ios::app); out << nb_1; out <<" "; out << nb_2 ; out <<" "; out << nb_3; out <<" "; out << nb_4 ; out <<" "; out << nb_5 ; out <<":n "; nb_11=nb_1; nb_22=nb_2; nb_33=nb_3; nb_44=nb_4; nb_55=nb_5; }
++nb_5; if (nb_5=Q) {nb_4=nb_4+1; nb_5=1;} if (nb_4=Q) {nb_3=nb_3+1; nb_4=1;} if (nb_3=Q) {nb_2=nb_2+1; nb_3=1;} if (nb_2=Q) {nb_1=nb_1+1; nb_2=0;}
} while (nb_1 < 99) ;
Là, je ne comprends pas ce que doit faire le programme. Une description plus précise de ce qu'il doit faire (est-ce des additions avec retenue ? Mais alors, on additionne quoi à quoi ?) permettrait d'y voir plus clair.
En tout cas, il est clair qu'il doit y avoir moyen de remplacer tous ces codes répétitifs par des boucles. Ensuite, on verra qu'il est peut-être possible de remplacer les boucles par des algorithmes s'appliquant automatiquement aux éléments d'un conteneur comme vector.
Il y aurait encore d'autres commentaires à faire, mais chaque chose en son temps.
-- Arnaud
Arnaud Meurgues
giovanni wrote:
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99 et dois me enregistrer dans un fichier apres tri
Che gli chiama « tri » ? Per me, uno « tri » è mettere gli numeri in ordine. Ma non riconosco uno « tri » nella lora descrizione.
je veu pas qu il enregistre un resultat ou il y 3 chiffre identique au deja enregistre sortie .. exemple 1 2 3 4 5 1 2 3 4 6 je veu pas enregistrer a cause 1 2 3 ou 2 3 4 identiqueet deja sauver ... le suivant normalement serais 1 2 6 7 8 etc
È molto difficile da capire la definizione del programmo. Dunque, non può aiutarla più senza capire realmente quello che il programmo deve fare.
Riscriva il loro programmo con cicli. Allora, vedrò che cosa potrò fare.
-- Arnaud
giovanni wrote:
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99
et dois me enregistrer dans un fichier apres tri
Che gli chiama « tri » ?
Per me, uno « tri » è mettere gli numeri in ordine.
Ma non riconosco uno « tri » nella lora descrizione.
je veu pas qu il enregistre un resultat ou il y 3 chiffre identique au deja
enregistre sortie ..
exemple
1 2 3 4 5
1 2 3 4 6 je veu pas enregistrer a cause 1 2 3 ou 2 3 4 identiqueet deja
sauver ...
le suivant normalement serais
1 2 6 7 8 etc
È molto difficile da capire la definizione del programmo. Dunque, non
può aiutarla più senza capire realmente quello che il programmo deve fare.
Riscriva il loro programmo con cicli. Allora, vedrò che cosa potrò fare.
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99 et dois me enregistrer dans un fichier apres tri
Che gli chiama « tri » ? Per me, uno « tri » è mettere gli numeri in ordine. Ma non riconosco uno « tri » nella lora descrizione.
je veu pas qu il enregistre un resultat ou il y 3 chiffre identique au deja enregistre sortie .. exemple 1 2 3 4 5 1 2 3 4 6 je veu pas enregistrer a cause 1 2 3 ou 2 3 4 identiqueet deja sauver ... le suivant normalement serais 1 2 6 7 8 etc
È molto difficile da capire la definizione del programmo. Dunque, non può aiutarla più senza capire realmente quello che il programmo deve fare.
Riscriva il loro programmo con cicli. Allora, vedrò che cosa potrò fare.
-- Arnaud
Matthieu Moy
Arnaud Meurgues writes:
giovanni wrote:
alors le prog que je voudrais faire conte 5 serie de chiffre de 1 a 99 et dois me enregistrer dans un fichier apres tri
Che gli chiama « tri » ? Per me, uno « tri » è mettere gli numeri in ordine. Ma non riconosco uno « tri » nella lora descrizione.
Quand tu met un truc dans la poubelle « je trie », c'est pour que les ordures soient ordonnées de plus petit au plus grand ? ;-)
Quand tu met un truc dans la poubelle « je trie », c'est pour que les ordures soient ordonnées de plus petit au plus grand ? ;-)
Parce que toi, en C++, tu tries ce que tu mets à la poubelle ? ;-)
-- Arnaud
giovanni
euh oui par ordonner mais je voulais dire trier les chiffre sortie pas quille les enregistre a nouveau donc le prog ne doit enregistrer que une fois 3 chiffre dansles 5 donc 1 2 3 4 5 sorti et enregistrer donc ne doit plus enregistrer s il y a 1 2 3 1 2 4 1 2 5 2 3 4 2 3 5 3 4 5 donc l prochain 1 2 5 7 8 etc
"Arnaud Meurgues" a écrit dans le message de news: 43d641c3$0$21335$
Matthieu Moy wrote:
Quand tu met un truc dans la poubelle « je trie », c'est pour que les ordures soient ordonnées de plus petit au plus grand ? ;-)
Parce que toi, en C++, tu tries ce que tu mets à la poubelle ? ;-)
-- Arnaud
euh oui par ordonner mais je voulais dire trier les chiffre sortie pas
quille les enregistre a nouveau
donc le prog ne doit enregistrer que une fois
3 chiffre dansles 5
donc 1 2 3 4 5 sorti et enregistrer
donc ne doit plus enregistrer s il y a
1 2 3
1 2 4
1 2 5
2 3 4
2 3 5
3 4 5
donc l prochain 1 2 5 7 8
etc
"Arnaud Meurgues" <news.arnaud@meurgues.non.fr.invalid> a écrit dans le
message de news: 43d641c3$0$21335$626a54ce@news.free.fr...
Matthieu Moy wrote:
Quand tu met un truc dans la poubelle « je trie », c'est pour que les
ordures soient ordonnées de plus petit au plus grand ? ;-)
Parce que toi, en C++, tu tries ce que tu mets à la poubelle ? ;-)
euh oui par ordonner mais je voulais dire trier les chiffre sortie pas quille les enregistre a nouveau donc le prog ne doit enregistrer que une fois 3 chiffre dansles 5 donc 1 2 3 4 5 sorti et enregistrer donc ne doit plus enregistrer s il y a 1 2 3 1 2 4 1 2 5 2 3 4 2 3 5 3 4 5 donc l prochain 1 2 5 7 8 etc
"Arnaud Meurgues" a écrit dans le message de news: 43d641c3$0$21335$
Matthieu Moy wrote:
Quand tu met un truc dans la poubelle « je trie », c'est pour que les ordures soient ordonnées de plus petit au plus grand ? ;-)
Parce que toi, en C++, tu tries ce que tu mets à la poubelle ? ;-)
-- Arnaud
Vincent Lascaux
"giovanni" a écrit dans le message de news:
euh oui par ordonner mais je voulais dire trier les chiffre sortie pas quille les enregistre a nouveau donc le prog ne doit enregistrer que une fois 3 chiffre dansles 5 donc 1 2 3 4 5 sorti et enregistrer donc ne doit plus enregistrer s il y a 1 2 3 1 2 4 1 2 5 2 3 4 2 3 5 3 4 5 donc l prochain 1 2 5 7 8
Pour générer le prochain, tu géneres petit à petit comme ceci : 1 (ok, il y a pas 3 chiffres dans 1 2 3 4 5) 1 2 (ok) 1 2 3 (non, il y a 3 chiffres dans 1 2 3 4 5) 1 2 4 (non) 1 2 5 (non) 1 2 6 (ok) 1 2 6 7 (ok) 1 2 6 7 8 (ok)
Le résultat suivant serait 1 2 3 4 5 ? Ce que tu veux c'est un programme qui écrive alternativement 1 2 3 4 5 et 1 2 6 7 8 dans un fichier ?
-- Vincent
"giovanni" <giovannisch@hotmail.com> a écrit dans le message de news:
43d653ff@ews20...
euh oui par ordonner mais je voulais dire trier les chiffre sortie pas
quille les enregistre a nouveau
donc le prog ne doit enregistrer que une fois
3 chiffre dansles 5
donc 1 2 3 4 5 sorti et enregistrer
donc ne doit plus enregistrer s il y a
1 2 3
1 2 4
1 2 5
2 3 4
2 3 5
3 4 5
donc l prochain 1 2 5 7 8
Pour générer le prochain, tu géneres petit à petit comme ceci :
1 (ok, il y a pas 3 chiffres dans 1 2 3 4 5)
1 2 (ok)
1 2 3 (non, il y a 3 chiffres dans 1 2 3 4 5)
1 2 4 (non)
1 2 5 (non)
1 2 6 (ok)
1 2 6 7 (ok)
1 2 6 7 8 (ok)
Le résultat suivant serait 1 2 3 4 5 ?
Ce que tu veux c'est un programme qui écrive alternativement 1 2 3 4 5 et 1
2 6 7 8 dans un fichier ?
euh oui par ordonner mais je voulais dire trier les chiffre sortie pas quille les enregistre a nouveau donc le prog ne doit enregistrer que une fois 3 chiffre dansles 5 donc 1 2 3 4 5 sorti et enregistrer donc ne doit plus enregistrer s il y a 1 2 3 1 2 4 1 2 5 2 3 4 2 3 5 3 4 5 donc l prochain 1 2 5 7 8
Pour générer le prochain, tu géneres petit à petit comme ceci : 1 (ok, il y a pas 3 chiffres dans 1 2 3 4 5) 1 2 (ok) 1 2 3 (non, il y a 3 chiffres dans 1 2 3 4 5) 1 2 4 (non) 1 2 5 (non) 1 2 6 (ok) 1 2 6 7 (ok) 1 2 6 7 8 (ok)
Le résultat suivant serait 1 2 3 4 5 ? Ce que tu veux c'est un programme qui écrive alternativement 1 2 3 4 5 et 1 2 6 7 8 dans un fichier ?