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

Rozdział 30 zad.1 PD

Ostatnio zmodyfikowano 2020-03-17 09:53
Autor Wiadomość
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.
 
C/C++
#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.
P-176376
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.
C/C++
std::cout << "A";
for( int i = 0; i < 5; ++i )
     std::cout << "B";
wypisze ABBBBB.
P-176377
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)
 
C/C++
#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;
}
P-176385
« 1 »
  Strona 1 z 1