Lekcja 30 - Zagnieżdżenie pętli zadanie nr 2
Ostatnio zmodyfikowano 2017-08-30 21:49
rav89lodz Temat założony przez niniejszego użytkownika |
Lekcja 30 - Zagnieżdżenie pętli zadanie nr 2 » 2017-08-30 21:35:13 Witam wszystkich, napisałem takie rozwiązanie ale czegoś w nim brakuje, bowiem niektóre kombinacje liczb się powielają. Proszę o pomoc w zlokalizowaniu błędu #include <iostream>
using namespace std;
int main() {
for(int a=1; a<=3; a++) { for (int b=2; b<=4; b++) { for (int c=3; c<=5; c++) { if((a!=b)&&(a!=c)&&(b!=c)) { cout<<a<<" "; cout<<b<<" "; cout<<c<<endl; } } } }
return 0; } [\code]
|
|
maly7 |
» 2017-08-30 21:45:06 Wartość początkowa zmiennej b powinna wynosić a+1, żeby już nie powtórzyć a, tak samo c = b+1. W innym wypadku jeśli a == 3 i b == 2 warunek a != b jest spełniony i wystąpi powtórzenie. for( int a = 1; a <= 3; a++ ) { for( int b = a + 1; b <= 4; b++ ) { for( int c = b + 1; c <= 5; c++ ) cout << a << " " << b << ' ' << c << endl; } } Ewentualnie twój warunek mógłby wyglądać następująco: if(( a < b ) &&( a < c ) &&( b < c ) ) |
|
karambaHZP |
» 2017-08-30 21:45:11 Gdyby rozpisać na kartce kombinacje widać, że każda kolejna zagnieżdżona pętla powinna mieć zainicjalizowany licznik wartością o jeden większą od obecnego licznika zewnętrznej pętli, więc inicjalizowanie liczników na sztywno wartościami jest niepoprawne.
|
|
rav89lodz Temat założony przez niniejszego użytkownika |
» 2017-08-30 21:49:11 Ok, dzięki, teraz już rozumiem :) |
|
« 1 » |