[Rozdział 30] Zadanie 2
Ostatnio zmodyfikowano 2014-10-15 23:53
Syryniss Temat założony przez niniejszego użytkownika |
[Rozdział 30] Zadanie 2 » 2014-10-15 22:05:36 Witam. Mam problem z zadaniem 2 z lekcji o zagnieżdżaniu pętli: 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ć. |
Zrobiłem program, który wypisuje możliwości bez losowania tej samej piłki w jednej sekwencji (np. nie wylosuje kombinacji 1, 1, 2), ale nie wiem co dodać, żeby program pominął powtarzające się kombinacje (np. 1,2,3 i 2,1,3). Niepełny program: #include "stdafx.h" #include <iostream> using namespace std;
int main() { int licznik = 0; for( int a1 = 1; a1 <= 5; a1++ ) { for( int a2 = 1; a2 <= 5; a2++ ) { if( a2 == a1 ) continue; for( int a3 = 1; a3 <= 5; a3++ ) { if( a3 == a2 || a3 == a1 ) continue; cout << a1 << a2 << a3 << endl; licznik++; } } } cout << "Ilosc mozliwych kombinajcji: " << licznik << endl; system( "PAUSE" ); return 0; } Myślałem trochę nad tym i jedyne co udało mi się zrobić to sprawdzenie każdej kombinacji jako iloczyn 3 liczb. Tym sposobem udało mi się osiągnąć pożądany rezultat (czyli tylko 10 wyników), ale chyba nie będzie to działać dla każdego podobnego przypadku. |
|
Rashmistrz |
» 2014-10-15 22:55:15 Żeby nie dać Ci od razu odpowiedzi, nie zalinkuję tematu, tylko będę cytować. :) Do wykonania tego zadania wystarczy tyle zmiennych, co pętli. ..cały problem, to nadać im odpowiednie wartości początkowe. |
|
|
Syryniss Temat założony przez niniejszego użytkownika |
» 2014-10-15 23:53:37 Czytałem ten temat, ale nie mam pomysłu jakie nadać wartości początkowe i jak to ma wpłynąć na nie powtarzanie się tych samych numerów w różnej kolejności.
Edit: Ups, nie zauważyłem posta z rozwiązaniem. Przyznam szczerze, że chyba sam bym na to nie wpadł, dzięki. |
|
« 1 » |