Wyświetlanie kolejnych kombinacji liczb tablicy
Ostatnio zmodyfikowano 2016-11-11 10:40
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ą. |
|
kirito1996 |
» 2016-11-11 10:33:43 może pomoże https://www.youtube.com/watch?v=63QjKBcIySs |
|
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. |
|
« 1 » |