Rozdział 30 zad.1 PD
Ostatnio zmodyfikowano 2020-03-17 09:53
plolopl Temat założony przez niniejszego użytkownika |
Rozdział 30 zad.1 PD » 2020-03-16 15:34:15 Witam. Generalnie ten program powinien wypisać do 5 pudełek liczb od 1 do 3 we wszystkich możliwych kombinacjach.Mam z tym programem problem. Mianowicie program komplikuje się, ale po uruchomieniu nie wpisuje wszystkich liczb w rzędzie, tylko te, które są zmieniane. #include <iostream> using namespace std; void wypisz( int licz ) { cout << licz << " "; }
int main() { int t[ 5 ]; for( int i = 0; i != 5; i++ ) t[ i ] = 1; do { for( int i = 1; i != 4; i++ ) { t[ 1 ] = i; wypisz( t[ 1 ] ); for( int j = 1; j != 4; j++ ) { t[ 2 ] = j; wypisz( t[ 2 ] ); for( int k = 1; k != 4; k++ ) { t[ 3 ] = k; wypisz( t[ 3 ] ); for( int l = 1; l != 4; l++ ) { t[ 4 ] = l; wypisz( t[ 4 ] ); for( int m = 1; m != 4; m++ ) { t[ 5 ] = m; wypisz( t[ 5 ] ); cout << endl; } } } } } } while( t[ 1 ] != 3 && t[ 2 ] != 3 && t[ 3 ] != 3 && t[ 4 ] != 3 && t[ 5 ] != 3 ); return 0; } Z góry dziękuje za pomoc. |
|
pekfos |
» 2020-03-16 18:06:43 Mianowicie program komplikuje się |
Programy się kompiluje. Komplikacje to zupełnie niezwiązana sprawa, chociaż też tu je widać. po uruchomieniu nie wpisuje wszystkich liczb w rzędzie, tylko te, które są zmieniane. |
Dokładnie tak napisałeś w kodzie. std::cout << "A"; for( int i = 0; i < 5; ++i ) std::cout << "B"; wypisze ABBBBB. |
|
plolopl Temat założony przez niniejszego użytkownika |
Rozwiązanie » 2020-03-17 09:53:44 Wiem już gdzie popełniłem błąd i zrozumiałem na czym polegają pętle zagnieżdżone. Dziękuje.(Poniżej przesyłam mój program) #include <iostream> using namespace std; void wypisz( int licz ) { cout << licz << " "; }
int main() { int t[ 5 ]; for( int i = 0; i != 5; i++ ) t[ i ] = 1; do { for( int i = 1; i != 4; i++ ) { t[ 1 ] = i; for( int j = 1; j != 4; j++ ) { t[ 2 ] = j; for( int k = 1; k != 4; k++ ) { t[ 3 ] = k; for( int l = 1; l != 4; l++ ) { t[ 4 ] = l; for( int m = 1; m != 4; m++ ) { t[ 5 ] = m; wypisz( i ); wypisz( j ); wypisz( k ); wypisz( l ); wypisz( m ); cout << endl; } } } } } } while( t[ 1 ] != 3 && t[ 2 ] != 3 && t[ 3 ] != 3 && t[ 4 ] != 3 && t[ 5 ] != 3 ); return 0; } |
|
« 1 » |