C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

reduction du prog

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
giovanni
Guest





PostPosted: Sat Oct 28, 2006 4:34 am    Post subject: reduction du prog Reply with quote



comment simplifierai vous ce morceau de prg?

{if (nb_11==nb_1 || nb_11==nb_2 || nb_11==nb_3 || nb_11==nb_4 ||
nb_11==nb_5)
{if (nb_22==nb_1 || nb_22==nb_2 || nb_22==nb_3 || nb_22==nb_4 ||
nb_22==nb_5)
{if (nb_33==nb_1 || nb_33==nb_2 || nb_33==nb_3 || nb_33==nb_4 ||
nb_33==nb_5)
t123=t123+1;}}}
ce que j'ai fais ne semble pas marche en plus helas pour moi mais pas
compris pourquoi ca me semble juste pourtant
le prg doit voir si dans nb_11 il y a nombre egal a nb_1 ou nb_2 ou nb_3 ou
nb_4 ou nb_5
si non arete et continue le prg normal
si oui passe a nb_22 et fais le meme test et si oui fais encore le test
nb_33 il y a cestrois valeur me additione dans t123
sinon arete et continue le test si pas egal
au fait je doit faire nb_11=1 nb_22=2 nb_33=3
si cest chiffre sont dans la combinaison nb_1 nb_2 nb_3 nb_4 nb_5

ce que j'ai fais ne semble pas marche
Back to top
James Kanze
Guest





PostPosted: Sat Oct 28, 2006 4:47 pm    Post subject: Re: reduction du prog Reply with quote



giovanni wrote:
Quote:
comment simplifierai vous ce morceau de prg?

{if (nb_11==nb_1 || nb_11==nb_2 || nb_11==nb_3 || nb_11==nb_4 ||
nb_11==nb_5)
{if (nb_22==nb_1 || nb_22==nb_2 || nb_22==nb_3 || nb_22==nb_4 ||
nb_22==nb_5)
{if (nb_33==nb_1 || nb_33==nb_2 || nb_33==nb_3 || nb_33==nb_4 ||
nb_33==nb_5)
t123=t123+1;}}}
ce que j'ai fais ne semble pas marche en plus helas pour moi mais pas
compris pourquoi ca me semble juste pourtant
le prg doit voir si dans nb_11 il y a nombre egal a nb_1 ou nb_2 ou nb_3 ou
nb_4 ou nb_5
si non arete et continue le prg normal
si oui passe a nb_22 et fais le meme test et si oui fais encore le test
nb_33 il y a cestrois valeur me additione dans t123
sinon arete et continue le test si pas egal
au fait je doit faire nb_11=1 nb_22=2 nb_33=3
si cest chiffre sont dans la combinaison nb_1 nb_2 nb_3 nb_4 nb_5

Un peu d'information sur ce que tu essaies de faire réelement
aiderait. Est-ce que nb_[1-5] ne seraient pas un ensemble, et ce
que tu cherches, c'est quelque chose du genre :

if ( nb.contains( nb_11 )
&& nb.contains( nb_22 )
&& nb.contains( nb_33 ) ) {
++ t124 ;
}

Ensuite, en fonction des valeurs réelement utilisées et les
opérations les plus fréquentes, on choisira soit un bitmap, soit
un vecteur (éventuellement trié) soit std::set pour
l'implémenter.

Quote:
ce que j'ai fais ne semble pas marche

Là, en revanche, je ne sais pas trop quoi te dire. Au moins
qu'il y a un typo que je ne vois pas, le code que tu as posté,
même si c'est lourd, est correct, et doit faire à peu près ce
que tu as décrit.

--
James Kanze (Gabi Software) email: james.kanze (AT) gmail (DOT) 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
Back to top
loufoque
Guest





PostPosted: Sun Oct 29, 2006 4:29 am    Post subject: Re: reduction du prog Reply with quote



giovanni a écrit :
Quote:
comment simplifierai vous ce morceau de prg?

{if (nb_11==nb_1 || nb_11==nb_2 || nb_11==nb_3 || nb_11==nb_4 ||
nb_11==nb_5)
{if (nb_22==nb_1 || nb_22==nb_2 || nb_22==nb_3 || nb_22==nb_4 ||
nb_22==nb_5)
{if (nb_33==nb_1 || nb_33==nb_2 || nb_33==nb_3 || nb_33==nb_4 ||
nb_33==nb_5)
t123=t123+1;}}}

std::tr1::array<int, 5> a = {...};
std::tr1::array<array<int, 3> 3> b = {{...}, {...}, ...}; // ou un
multi_array

bool found = false;
for(size_t i=0; i<b.size(); ++i)
{
for(size_t j=0; i<a.size(); ++i)
{
if(b[i][i] == a[j])
{
found = true;
break;
}
}
if(found)
break;

}
if(!found)
var++;
Back to top
Sylvain
Guest





PostPosted: Sun Oct 29, 2006 7:20 am    Post subject: Re: reduction du prog Reply with quote

loufoque wrote on 29/10/2006 01:29:
Quote:

std::tr1::array<int, 5> a = {...};
std::tr1::array<array<int, 3> 3> b = {{...}, {...}, ...}; // ou un
multi_array

bool found = false;
for(size_t i=0; i<b.size(); ++i){
for(size_t j=0; i<a.size(); ++i){
j? j?
if(b[i][i] == a[j]){
ou i,j ou j,i ??
}

j'ai l'impression que ta boucle interne n'es pas vraiment l'équivalent
du 'contains' de James, la "matrice" à vérifier (nb_ii) étant d'ailleurs
de dimension 1.

Sylvain.
Back to top
loufoque
Guest





PostPosted: Fri Nov 03, 2006 2:09 am    Post subject: Re: reduction du prog Reply with quote

Sylvain a écrit :

Quote:
j'ai l'impression que ta boucle interne n'es pas vraiment l'équivalent
du 'contains' de James

Oui mon code est erroné.
L'idée principale c'était de remplacer ces variables à indice par des
tableaux et ces enchaînements de tests par des boucles.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.