Merci ca a plus sens.
Autre question, si je possède deux boucles, une pour chaque multiset; et que je veux comparer les elements a chaque fois qu'un element s'ajoute a une des multisets.
Faire
if ( *vit == *rit ){cout<<"les valeurs sont les memes";}
me semble logique, mais reste l'emplacement. Car les boucles sont separees comme ceci:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| void Product::Print(){
multiset <double>::iterator vit;
multiset <double>::iterator rit;
double n, m;
n = numerator.size();
m = denominator.size();
if ( n == 0 ){
cout << "1";
}
/* Premiere boucle */
for (vit = numerator.begin(); vit != numerator.end(); vit++)
{
if ( n == 1 ) cout << *vit;
if ( n > 1 )
{
if ( vit != numerator.begin()) cout << " * ";
cout << *vit;
}
} cout << " / ";
if (m == 0) cout << "1";
/* Deuxieme boucle */
for (rit = denominator.begin(); rit != denominator.end(); rit++)
{
if ( m == 1) cout << *rit;
if ( m > 1 )
{
if (rit != denominator.begin()) cout << " / ";
cout << *rit;
}
} cout <<"\n";
} |
Mon code est en fait une sorte de calculatrice:
1 2 3 4 5 6 7 8
|
> PRINT // les deux sets sont vides
1 / 1
> MULTIPLY 2
> PRINT
2 / 1
> DIVIDE 2
2 / 2 (resultat que je veux rendre 1 / 1) |
Partager