Kombinacje x-elementowych danego zbioru

0

Witam.
Zastanawiam się jak rozgryźć pewien problem a mianowicie chciałbym aby mój program wypisywał wszystkie możliwe kombinacje x-elementowych z danego zbioru.
Mam zbiór: {a,b,c,d}, program pyta Nas o ilość elementów kombinacji;
Wpisuje np. 3:

aaa
aab
aac
aba
...
cca
ccb
ccc

wpisuje np. 2:

aa
ab
ac
ba
bb
bc
ca
cb
cc

Na pewno jest jakiś sposób aby to zautomatyzować bo gdy użytkownik będzie chciał utworzyć 5elementową kombinację to musiałbym użyć 5 for i w dodatku musiałbym to zrobić ręcznie...
Z góry dziękuje za przeczytanie o moim problemie, liczę, że ktoś mi w tym pomoże.
Pozdrawiam.

W poprzednim temacie z mojego błędu został przeniesiony do działu C++ jednak ja potrzebuję tego w Pascalu.

0

W tamtym wątku dostałeś dwa algorytmy:

  1. Użycie rekurencji
  2. Poczynając od ostatniego znaku: Jeżeli się da to przestawiasz znak na następny i na tym koniec, w przeciwnym wypadku ustawiasz ten znak na pierwszy i przechodzisz do poprzedniego. Jeżeli nie ma poprzedniego to zużyte już wszystkie możliwości.
2
koszar93 napisał(a):

W poprzednim temacie z mojego błędu został przeniesiony do działu C++ jednak ja potrzebuję tego w Pascalu.

Mam dziwne wrażenie że jest to próba uzyskania gotowca i to zdanie raczej powinno brzmieć tak:

W poprzednim temacie z mojego błędu został przeniesiony do działu C++ jednak ja potrzebuję gotowca w Pascalu.

i temat powinien wylądować w koszu.

Może się mylę ale mam podstawy by wysnuć taki wniosek:
W poprzednim temacie pytacz(wyłudzacz?) dostał propozycję dwóch algorytmów rozwiązujących problem i nie zrobił nic. Nie przedstawił jakiejkolwiek pracy własnej, własnego kodu, nawet niedziałającego ale pokazującego, że próbował coś zrobić samemu.

0

poczytaj o rekurencji ,to jedna z dróg do rozwiązania Twojego problemu, czy jest jedyna to nie wiem , ale z pewnością doprowadzi Cię do celu :)))

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