Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Lekcja 30 - Zagnieżdżenie pętli zadanie nr 2

Ostatnio zmodyfikowano 2017-08-30 21:49
Autor Wiadomość
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]
P-164426
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.

C/C++
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 ) )
P-164427
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.
P-164428
rav89lodz
Temat założony przez niniejszego użytkownika
» 2017-08-30 21:49:11
Ok, dzięki, teraz już rozumiem :)
P-164429
« 1 »
  Strona 1 z 1