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

Wyświetlanie kolejnych kombinacji liczb tablicy

Ostatnio zmodyfikowano 2016-11-11 10:40
Autor Wiadomość
bati22
Temat założony przez niniejszego użytkownika
Wyświetlanie kolejnych kombinacji liczb tablicy
» 2016-11-11 09:51:01
Witam!
Mam tablicę zawierającą n elementów. Każda komórka tablicy zawiera cyfry od 0 do 9. Cyfry mogą się powtarzać. Chcę napisać program, który będzie wyświetlać kolejne kombinacje, a zawartość całej tablicy traktował jako jedna wielką liczbę.

Przykład 1.
123456 - najmniejsza kombinacja (posortowana rosnąco tablica)
654321 - najwyższa kombinacja (posortowana malejąco tablica)
Wyświetl kolejne kombinacje od najmniejsze do największej:
123456
123465
124356
124365
|
|
|
654321

Przykład 2.
111999 - najmniejsza kombinacja (posortowana rosnąco tablica)
999111 - najwyższa kombinacja (posortowana malejąco tablica)
Wyświetl kolejne kombinacje od najmniejsze do największej:
111999
|
|
999111

Jaki jest na to algorytm? Myślałem nad wielokrotnym wykorzystywaniem funkcji sort(), ale nie jeszcze nie napisałem właściwego algorytmu który wyświetlałby te duże liczby w kolejności rosnącej. To dobry pomysł? sort() chcę wykorzystać do zamieniania dwóch sąsiednich cyfr miejscami ze sobą.
P-153556
kirito1996
» 2016-11-11 10:33:43
może pomoże https://www.youtube.com/watch?v=63QjKBcIySs
P-153557
bati22
Temat założony przez niniejszego użytkownika
» 2016-11-11 10:40:00
Dzięki wielkie, ale już znalazłem rozwiązanie problemu :)
http://stackoverflow.com/questions/3184893/use-next-permutation-to-permutate-a-vector-of-classes
Po użyciu funkcji next_permutation() wszystko działa.
P-153558
« 1 »
  Strona 1 z 1