OVH Cloud OVH Cloud

petite aide sur mon prog

18 réponses
Avatar
giovanni
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!

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <sstream>
#include <time.h>
#include <stdio.h>


using namespace std;

int main()
{
clock_t start = clock();
int count;
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];
//int ok_1, ok_2, ok_3, ok_4, ok_5, ok_6, ok_7, ok_8, ok_9;
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;

ofstream outfile("resultat.txt", ios::out);
if(!outfile){
cerr << "errore: file output non puo' venire aperto.\n";
exit(1);
}
fichier.open("calc.txt", ios::in);
while (!fichier.eof()) {
fichier >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 ;
//fichier2.open("calc2.txt", ios::in);
//if(!fichier2){
// cerr << "errore: file output non puo' venire aperto.\n";
// exit(1);}
//while(!fichier2.eof())

nb_11=nb_1;
nb_22=nb_2;
nb_33=nb_3;
nb_44=nb_4;
nb_55=nb_5;


//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;}

}
while (nb_1 < 99) ;

//system("pause");
}

// chiudere file
fichier.close();
fichier.clear() ;

clock_t end = clock();
int elapsed_sec = (end-start)/CLOCKS_PER_SEC; // not CLK_TCK !!!
cout << "\nThat took " << elapsed_sec << " seconds.\n";

system("pause");
return(0);


}

10 réponses

1 2
Avatar
Fabien LE LEZ
On Tue, 24 Jan 2006 02:05:19 GMT, "giovanni"
:

voila jaimerai qu il calcul mais avec retenue des resultat trouver


Rappel : fr.comp.lang.c++ est un forum francophone.

Avatar
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

Avatar
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


Avatar
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.

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <sstream>
#include <time.h>
#include <stdio.h>

using namespace std;

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>)

std::vector<int> ok(6);
for (int i=0; i<6 ; i++)
ok[i] = 0;

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;

Voilà qui fait sérieusement le ménage.


ofstream outfile("resultat.txt", ios::out);
if(!outfile){
cerr << "errore: file output non puo' venire aperto.n";
exit(1);
}
fichier.open("calc.txt", ios::in);
while (!fichier.eof()) {
fichier >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 ;

nb_11=nb_1;
nb_22=nb_2;
nb_33=nb_3;
nb_44=nb_4;
nb_55=nb_5;


Là, on se retrouve à faire des choses répétitives, signe qu'on doit
pouvoir utiliser plutôt des tableaux et une boucle :

std::vector<int> nb(5);
std::vector<int> nbb(5);

while(...) {
for (int i=0 ; i<5 ; ++i) {
fichier >> nb[i];
nbb[i] = nb[i];
}
//...
}

printf(" ligne b1 %d", nb_1);
printf(" %d", nb_2);
printf(" %d", nb_3);
printf(" %d", nb_4);
printf(" %dn", nb_5);


En C++, on n'utilise pas printf(), mais plutôt le stream de sortie cout :

std::cout << "ligne b1";
for (int i=0 ; i<5 ; ++i)
std::cout << ' ' << nb[i];
std::cout << 'n';

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

Avatar
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.

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <sstream>
#include <time.h>
#include <stdio.h>

using namespace std;

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>)

std::vector<int> ok(6);
for (int i=0; i<6 ; i++)
ok[i] = 0;

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;

Voilà qui fait sérieusement le ménage.


ofstream outfile("resultat.txt", ios::out);
if(!outfile){
cerr << "errore: file output non puo' venire aperto.n";
exit(1);
}
fichier.open("calc.txt", ios::in);
while (!fichier.eof()) {
fichier >> nb_1 >> nb_2 >> nb_3>> nb_4 >> nb_5 ;

nb_11=nb_1;
nb_22=nb_2;
nb_33=nb_3;
nb_44=nb_4;
nb_55=nb_5;


Là, on se retrouve à faire des choses répétitives, signe qu'on doit
pouvoir utiliser plutôt des tableaux et une boucle :

std::vector<int> nb(5);
std::vector<int> nbb(5);

while(...) {
for (int i=0 ; i<5 ; ++i) {
fichier >> nb[i];
nbb[i] = nb[i];
}
//...
}

printf(" ligne b1 %d", nb_1);
printf(" %d", nb_2);
printf(" %d", nb_3);
printf(" %d", nb_4);
printf(" %dn", nb_5);


En C++, on n'utilise pas printf(), mais plutôt le stream de sortie cout :

std::cout << "ligne b1";
for (int i=0 ; i<5 ; ++i)
std::cout << ' ' << nb[i];
std::cout << 'n';

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



Avatar
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

Avatar
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 ? ;-)

--
Matthieu


Avatar
Arnaud Meurgues
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

Avatar
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



Avatar
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

1 2