[ moja-sesija @ 10.11.2009. 22:22 ] @
kako da dobijem sve kombinacije npr. za kladionicu, da mi scripta ispise za kladionicu za parove, naprimjer:

ukoliko se radi o 2 kombinacije tj: scripta bi mi trebala da ispise sljedece

1 1

1 2

2 1

2 2




EEE kako da napravim scriptu da mi ovo isto moze ispisati za vise kombinacija, svi prijedlozi su dobrodosli, hvala unaprijed.
[ Mihajlo Cvetanović @ 10.11.2009. 22:47 ] @
Ne razumem, šta su ulazni podaci, šta su izlazni podaci, šta želiš da program uradi?
[ moja-sesija @ 10.11.2009. 23:27 ] @
n.p.r za 2 para na kladionici, pretpostavljam da nema nerjeseno, znaci 1 ili 2, da mi ispise sve kombinacije,
1: 1 1
2: 1 2
3: 2 1
4: 2 2

ako unesem 3 para da mi ispise ovako:

1: 1 1 1
2: 1 1 2
3: 1 2 2
4: 1 2 1
......
......
i . t. d

Samo da se ne ponavljaju, znaci da ja kao ulaznu vrjednost dam broj npr 3, i da mi da sve ispisane kombinacije, nikako ne mogu da skopcam kako bi ovo mogo realizovat.
[ w3bl0rd @ 11.11.2009. 06:50 ] @
za ovo bi najjednostavnije bilo da radiš s binarnim brojevima ak su 2 mogućnosti i samo uvečavaš za 1 dok ne dođeš do željenog broja...

001
010
011
100
101
110
111

kasnije samo 0 smatraš kao 1 a 1 kao dva...
[ Mihajlo Cvetanović @ 11.11.2009. 07:47 ] @
W3bl0rd je u pravu. Imaš petlju u kojoj brojač ide od 0 do 2^n, gde je n ulazni podatak. U telu petlje razlažeš ovaj brojač na binarne sastojke, tako što u novoj petlji šiftuješ taj broj na desno (broj >>= 1) i to n puta, i proveravaš cifru jedinice (broj % 2). Ako je na tom mestu 0 ti ispišeš keca, ako je na tom mestu 1 ti ispišeš dvojku.
[ Nedeljko @ 12.11.2009. 08:57 ] @
Pardon, ide do 2n-1.

Code:
#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
    int n;

    cout << "Unesi broj " << endl;
    cin >> n;
    int p = 1 << n;

    for (int i=0; i<p; ++i) {
        for (int j=n-1; j>=0; --j)
            cout << (i & (1 << j) ? 2 : 1);

        cout << endl;
    }

    return EXIT_SUCCESS;
}
[ Mihajlo Cvetanović @ 12.11.2009. 09:40 ] @
Slatko i elegantno