Witam wszystkich serdecznie.
Na wstępie zaznaczę, że dopiero zacząłem się uczyć programowania w języku C/C++, więc proszę o wyrozumiałość ;)
Pierwsze problemy, z którymi się spotkałem to dział matematyczny z kombinatoryki. Dokładniej rozdział, który przerabiam nazywa się zagnieżdżanie pętli. Na końcu są 2 zadania domowe.
- Wyobraź sobie, że masz pięć pudełek. W każdym pudełku możesz umieścić jedną liczbę całkowitą z przedziału od 1 do 3 włącznie. Napisz program, który wypisze na ekranie wszystkie możliwe kombinacje w jaki sposób można zapełnić pudełka. Fragment danych wypisywanych na ekranie:
1 1 1 1 1
1 1 1 1 2
1 1 1 1 3
1 1 1 2 1
. . .
3 3 3 3 2
3 3 3 3 3
Przyznam szczerze, że poradziłem sobie po swojemu i nie wiem czy o to chodziło w zadaniu, ale kod działa:
#include <iostream>
int main()
{
int a=1;
int b=1;
int c=1;
int d=1;
int e=1;
bool x=0;
do
{
do
{
if ( b > 3 )
{
b=1;
a++;
break;
}
if ( c > 3 )
{
c=1;
b++;
break;
}
if ( d > 3 )
{
d=1;
c++;
break;
}
if ( e > 3 )
{
e=1;
d++;
break;
}
if ( a == 4)
{
x=1;
continue;
}
std::cout << a << " ";
std::cout << b << " ";
std::cout << c << " ";
std::cout << d << " ";
std::cout << e << " " << std::endl;
e++;
} while ( x != 1 );
} while ( x != 1 );
return 0;
}
Jeśli możecie to prosiłbym o komentarze, czy tak może zostać, czy jednak o coś innego chodziło.
Do drugiego zadania, póki co nie wiem jak się zabrać i jeśli mógłby ktoś naprowadzić byłbym bardzo wdzięczny. Oto treść:
- 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ć. Dane jakie powinny zostać wypisane na ekranie:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
Dziękuję z góry i pozdrawiam.
dodanie znaczników <code class="cpp">
- @furious programming