Zadanie z zagnieżdżonych pętli
Ostatnio zmodyfikowano 2013-11-11 20:13
Soon Temat założony przez niniejszego użytkownika |
Zadanie z zagnieżdżonych pętli » 2013-11-11 20:02:09 Witam szanownych kolegów programistów! Wczoraj założyłem temat o tym, jak ja tych pętli nie rozumiem. Pekfos wytłumaczył mi je bardzo dobrze (dzięki), więc wypada poćwiczyć. Pierwsze zadanie zrobiłem bez problemu, ale mam problem z kolejnym: Wyobraź sobie, że masz pięć piłek i chcesz wylosować trzy z nich. Napisz program, który wypisze na ekranie wszystkie możliwe kombinacje piłek jakie można wylosować. No więc napisałem takie coś: #include <iostream> using namespace std;
int main() { for( int pilka1 = 1; pilka1 <= 5; ++pilka1 ) { for( int pilka2 = 2; pilka2 <= 5; ++pilka2 ) { for( int pilka3 = 3; pilka3 <= 5; ++pilka3 ) { cout << pilka1; cout << pilka2; cout << pilka3; cout << endl; } } } }
Problem w tym, że wyświetlany jest inny wynik, niż w kursie. Możecie powiedzieć, gdzie jest błąd? |
|
Buby |
» 2013-11-11 20:09:52 Hmm... Popraw kod w następujący sposób - w każdej pętli for , wartość startową ustaw na 1. A instrukcje cout umieść w bloku if z następującym warunkiem: if( pilka1 < pilka2 && pilka2 < pilka3 )
Powyższy warunek zapewnia też, że liczby nie powtórzą się w odwrotnej kolejności np. [1 2 3] - [3 2 1]. Zależy czy tego potrzebujemy czy nie, jednak w następnym zadaniu będzie Ci potrzebny ten warunek. |
|
Soon Temat założony przez niniejszego użytkownika |
» 2013-11-11 20:13:28 Dzięki, teraz jest dobrze. Tylko, że nie można tych wartości ustawiać na 0. Program musi się zaczynać tak: 1 2 3. Jednak to if działa i już jest wszystko dobrze. :) |
|
« 1 » |