Wybieranie bez powtórzeń

0

Witam może ktoś pomóc? Muszę zrobić pętle która będzie wybierała liczby ale bez powtórzeń sekwencji np:
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

Ale mimo że siedzę nad tym od długiego czasu nie wiem jak to zrobić... Jak chcecie podeśle to co do tej pory wytworzyłem ale jest to tak śmieszne + dodatkowo nie działa więc nie wiem czy jest tego jakikolwiek sens...

0

Jeszcze raz. Co?
Pokaż przykładowy input i oczekiwany output

0

Przykladowy input: 3
A output:
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

Zgodnie z sugestią wrzucam to co do tej pory zrobiłem w sposób głupi jest to tylko funkcja licząca. Oczywiście jest to bez sensu bo zwiekszając liczbę (zamiast 3 np 5) będzie trzeba dorobić więcej intów p i ifów...

int los1(int licz)
{

        int p1=licz-2,p2=licz-1,p3=licz,licznik=1;
        while(true)
        {
            if(licznik==3)
            {
                licznik=1;
            }
            if(p3>5)
            {
                p2++;
                p3=3+licznik;
                licznik++;
            }
            if(p2>=5)
            {
                p1++;
                p2=1+licznik;
            }
            if(p1>=4)
            {
                break;
            }
            cout<<p1<<" "<<p2<<" "<<p3<<" "<<endl;
            p3++;
        }
}
0

Nie wiem skąd Ci się wzięło 5, dlatego po prostu wrzucę kod na permutacje.

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
	int i;
	vector<int> vec;
	while (cin >> i) {
		vec.push_back(i);
	}
	
	sort(begin(vec), end(vec));
	
	do {
		for (int i: vec) {
			cout << i << " ";
		}
		cout << endl;
	} while (next_permutation(begin(vec), end(vec)));
	
	return 0;
}

stdin

1 2 3

stdout

1 2 3 
1 3 2 
2 1 3 
2 3 1 
3 1 2 
3 2 1 

https://ideone.com/Qxg8GG

0

Zdecyduj się co Chcesz, bo to co Wrzucileś w swoim drugim poście, to są wszystkie trzy elementowe kombinacje bez powtórzeń z pięciu elementów. Z losowaniem to ma niewiele wspólnego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1