Programozas: Hogyan tudok egy olyan programot irni mely kiiratja nekem az 'n' szam permutacioit?
Sziasztok diak vagyok es van egy hazi feladatom es probalkoztam ithol minden felevel de nem jon az iklet ezert kernem segitsegeteket.
Az a feladat hogyha van egy n szamom mondjuk pl 5 annak a program irja ki az osszes permutaciojat ami 5!=120
Nem tudom ertheto e a helyzet??? tehat ugy h :
1 2 3 4 5
1 2 3 5 4
1 2 4 3 5
...
C++ ban dolgozunk, keremszepen ne legyen tul kompliklat tehat alap muveletekkel. en ugygondoltam h esetleg egy ket soros matrixot hasznalok fel es az elso soraba be irom az elso n tagot, csak azt nem tudom h hogy tudom megcserelni a sorendet.
Koszi szepen elore is
Biztos, hogy jól értelmezed a feladatot?
1 számnak 1 permutációja van.
5-nek pl 5 és kész.
1-től n-ig tartó számoknak kell kiírni az összes permutációját?
Ez nagyon egyszerű, n darab ciklus kell, és ezeket kell egymáson belül pörgetni.
Ha n egy tetszőleges bekért paraméter, akkor kicsit nehezebb a helyzet.
Szerintem egy n elemű tömb kéne, aminek a végéről elindulsz és a visszafelé lépkedve növeled mindig az elemeket, amikor eléred n-et, akkor növeled az előzőt is.
Ezt most csak így elképzeltem, de talán megoldható.
Csinálj öt egymásba skatulyázott ciklust!
A ciklusok fussanak 1-től 5-ig!
Ha a ciklusváltozó nem egyenlő semelyik külső ciklusváltozóval sem, akkor végrehajhatók a belső ciklusok.
A legbelső ciklusban, ha a ciklusváltozó nem egyenlő egyikkel sem a négy külső közül. Írasd ki az öt ciklusváltozót!
Ne nyavalyogj azért, hogy 5^5=3125 próbálkozásból 5!=120 találat lesz! Ez még gyorsan fog menni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!