Hogyan lehetne azt megoldani, hogy X számú helyre kell választanom,2 vagy 3 féle dologból, és az összes lehetőséget fel kellene sorolni?
Szia.
Általánosságban elmondva a következő a helyzet :
Inditani kell X darab egymásba ágyazott ciklust (általában ez For ciklus szokott lenni) az elemek darabszámáig (jelen esetben 2-ig vagy 3-ig).
És a legbelső ciklus magjában kell létrehozni az elemet, mégpediglen úgy, hogy egymásmellé rakjuk az az összes ciklus által meghatározott karaktert.
Tehát ha a ciklusváltozóink a, b, c, és d (4 hosszan) akkor az elem igy generálódik :
elem=kar[a]+kar[b]+kar[c]+kar[d]
Ahol a kar tömb az a felhasználható készlet (jelen esetben "A","B","C" betűk)
De itt egy pascalos példa rekurziv módszerre (egyszerüen gyünyürű) :
Program VarRek;
Procedure Rekurzio(Result, Kar: String);
Var Ciklus: Byte;
Begin
If Length(Kar) = 1
Then WriteLn(Result, Kar)
Else For Ciklus:= 1 To Length(Kar) Do
Rekurzio(Result + Copy(Kar, Ciklus, 1),
Copy(Kar, 1, Ciklus - 1) + Copy(Kar, Ciklus + 1, 255));
End;
Begin
Rekurzio('', 'ABC');
End.
Forrás : [link]
Sok sikert.
üdv.
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!