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

[Rozdział 30] Zadanie 2

Ostatnio zmodyfikowano 2014-10-15 23:53
Autor Wiadomość
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:
C/C++
#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.

P-118556
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.
P-118564
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.
P-118568
« 1 »
  Strona 1 z 1