[Rozdział 30] Zadanie domowe
Ostatnio zmodyfikowano 2015-11-18 17:19
Deivid Temat założony przez niniejszego użytkownika |
[Rozdział 30] Zadanie domowe » 2015-11-16 13:46:20 Witajcie. To znowu ja :) Mam nadzieję że moderatorzy wyznają zasadę "kto pyta, nie błądzi" i za częste zakładanie tematów nikt mnie nie zbanuje, oraz nie zirytuje się "durnymi" pytaniami :) Otóż jakoś metodą prób i błędów udało mi się rozwiązać zadanie 2 z rozdziału 30. Ogólnie mniej więcej (raczej więcej) ogarniam zagnieżdżanie pętli, ale pojawiły się braki z wcześniejszego działu, z obsługi przerwań pętli. Oto mój kod: #include<iostream> using namespace std; int main() { for( int i = 1; i <= 3; i++ ) { for( int j = 2; j <= 4; j++ ) { if( j <= i ) continue; for( int k = 3; k <= 5; k++ ) { if( k <= j ) continue; cout << i << j << k << endl; } } } return 0; }
Program działa prawidłowo, ale nie wiem dlaczego :) Wiem na jakiej zasadzie działa wypisanie pętli bez warunków, prosiłbym o wręcz "łopatologiczne" wytłumaczenie jak rozumieć w tym programie owe warunki. |
|
carlosmay |
» 2015-11-16 14:07:30 Mam nadzieję że moderatorzy wyznają zasadę "kto pyta, nie błądzi" |
wstęp nie napawa optymizmem. Otóż jakoś metodą prób i błędów udało mi się rozwiązać zadanie |
każdy sposób jest dobry, choć lepiej pisać kod świadomie. Proponuje uruchomić program w trybie debugowania i prześledzić krok po kroku działanie programu. Warto nauczyć się obsługiwać debuger, bardzo ułatwia znajdowanie błędów w programie (np. gdy program działa, ale nie zgodnie z oczekiwaniami). nikt mnie nie zbanuje, oraz nie zirytuje się "durnymi" pytaniami :) |
pytania powinny być precyzyjne, lub choć spróbować je sprecyzować. ale pojawiły się braki z wcześniejszego działu, |
to wróć i doczytaj czego nie wiesz (nie pamiętasz). prosiłbym o wręcz "łopatologiczne" wytłumaczenie jak rozumieć w tym programie owe warunki. |
nie wszystko zrozumiesz patrząc na ekran monitora. Prześledź działanie programu wypisując na kartce jak zmieniają się zmienne w warunkach w pętli i jakie wypisywane są na ekran. POWODZENIA |
|
Deivid Temat założony przez niniejszego użytkownika |
» 2015-11-16 14:18:28 Proponuje uruchomić program w trybie debugowania i prześledzić krok po kroku działanie programu. Warto nauczyć się obsługiwać debuger, bardzo ułatwia znajdowanie błędów w programie (np. gdy program działa, ale nie zgodnie z oczekiwaniami). |
Rozwiniesz myśl jak to zrobić? Opcje Debugowania mam zablokowane (szare litery), nigdy nie korzystałem z tej opcji. |
|
carlosmay |
» 2015-11-16 14:34:48 Niedziałający debugger Code::BlocksAby zadziałał debugger musisz ustawić Breakpoint'a w miejscu, w którym chcesz zastopować program i przyjrzeć się poszczególnym zmiennym. Jest mnóstwo info na ten temat w necie. Filmiki na YouTube. Nie używam Code::Blocks do debugowania, więc nie podpowiem Ci co i jak. Visual ma megadebugger i jest banalny w obsłudze. |
|
Rashmistrz |
» 2015-11-17 14:01:39 Wskazówki: -Do wykonania tego zadania wystarczy tyle zmiennych, co pętli. -...cały problem, to nadać im odpowiednie wartości początkowe.
|
|
|
Deivid Temat założony przez niniejszego użytkownika |
» 2015-11-18 17:19:33 Wydaje mi się, że zrozumiałem już działanie "continue". Rashmistrz w tym co napisałeś to sądzę że trzeba nadać wartości początkowe w pętli. np: for( int i = 0;....) for( int j = i + 1;....) for( int k = j + 1;...)
To taki koncept bez użycia i przetestowania w programie ;) |
|
« 1 » |