Lekcja 30-zadanie domowe nr2
Ostatnio zmodyfikowano 2012-09-15 13:06
trojanagent Temat założony przez niniejszego użytkownika |
Lekcja 30-zadanie domowe nr2 » 2012-09-13 21:59:29 Witam. Mam problem z zadaniem domowym nr 2. Mianowicie mam dylemat skoro wypisywane numery na ekran to numery piłek to czy w takim wypadku 123 i 321 to taka sama kombinacja? Wydaje mi się że nie. Oto wykonane zadanie 2 w podstawowej wersji tj 5 pilek 3 pudelka #include <iostream> #include <cstdlib> #include <cstdio>
using namespace std;
int main() { int ile = 0; for( int a = 1; a <= 5; a++ ) { for( int b = 1; b <= 5; b++ ) { for( int c = 1; c <= 5; c++ ) { if( a == b || c == b || c == a ) continue; cout << a << b << c << d << endl; } } } cout << ile; return 0; }
Program wypisuje kombinacje poprawnie zaczynajac od pierwszej mozliwej tj 123 itd. Liczba kombinacji liczona z zasady mnozenia wynosi 5*4*3=60 i zgadza sie po dodaniu licznika z wynikiem programu. Problem pojawia sie jednak podczas modyfikacji tego programu i dodaniu jednej piłki i jednego pudełka wiecej. #include <iostream> #include <cstdlib> #include <cstdio>
using namespace std;
int main() { int ile = 0; for( int a = 1; a <= 6; a++ ) { for( int b = 1; b <= 6; b++ ) { for( int c = 1; c <= 6; c++ ) { for( int d = 1; d <= 6; d++ ) { if( a == b || c == b || c == a || d == a || d == b || d == c ) continue; cout << a << b << c << d << endl; ile++; } } } } cout << ile; return 0; }
W moim rozumieniu program powinien wypisywac kombinacje zaczynajac od 1234 na 6543 konczac niestety zaczyna od 2145 mimo ze wskazania licznika i regula mnozenia 6*5*4*3=360 sie zgadzaja to jednak nie rozumiem dlaczego kombinacje nie sa wypisywane od 1234 mimo takiego przebiegu petli. Z gory dziekuje za pomoc. |
|
trojanagent Temat założony przez niniejszego użytkownika |
znaczniki » 2012-09-13 22:07:51 Chciałbym jeszcze dodać że nie znalazłem żadnego faQ ani wskazówki na forum jak dodawać kod w znacznikach c++ prosiłbym o poprawienie więc mojego postu.
Edit juz mam :) |
|
trojanagent Temat założony przez niniejszego użytkownika |
?? » 2012-09-13 22:39:21 Czy to ze pomijane jest wystwietlanie czesci kombinacji z poczatku moze byc zwiazane z tym ze cmd przechowuje ok 300 linijek w pamieci?? |
|
DejaVu |
» 2012-09-13 22:54:35 Poprawiłem treść drugiego zadania. numery piłek to czy w takim wypadku 123 i 321 to taka sama kombinacja?
|
Tak, 123 i 321 to ta sama kombinacja. |
|
trojanagent Temat założony przez niniejszego użytkownika |
:) » 2012-09-14 09:25:46 Czyli racje mam z tym ze cmd nie wyswietla wszystkich kombinacji jesli jest ich wiecej od 300?? Tak jakby zastepuje pierwsze wyswietlenia nastepnymi?? Mozna jakos rozszerzyc te 300 linijek? |
|
Mrovqa |
» 2012-09-14 09:36:45 @up można. Da się też zmienić rozmiary okna ;) PPM na pasku tytułu konsoli -> Właściwości -> Układ -> Rozmiar bufora okna - i tu modyfikujesz co chcesz :) |
|
DejaVu |
» 2012-09-14 14:50:37 Do zadania drugiego nie potrzeba 300 linijek... |
|
trojanagent Temat założony przez niniejszego użytkownika |
» 2012-09-14 22:21:21 Tyle kombinacji wychodzi gdy zwiekszam liczbe piłek do 6 i pudełek do 4:) 6*5*4*3=360 ale i tak ta zmiana bufora nic nie daje bo nadal wyświetla mi od 2145:( |
|
« 1 » 2 |