Hi Leuts, ich weiß das es das Thema schon öfters gab, aber ich konnte noch keine Lösung für mein Problem finden bis jetzt.
Ich hab folgendes Problem:
Wir sollen in der Schule ein Programm schreiben das von einem string alle Permutationen ausgibt:
Ich habe eine Oberfläche erstellt mit einem edit fenster zur eingabe des strings, einen Button zum berechnen und eine Listbox zum ausgeben der Wörter:
Unser Lehrer hat uns grobe vorgaben gegeben und ich hab die dann soweit wie is ging auf mein Programm abgestimmt. das sieht bis jetzt so aus:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| var Permutation: TPermutation; Wort, Eingabe: string;
implementation
{$R *.DFM}
procedure TPermutation.btnPermutationClick(Sender: TObject); begin
Wort := edtEingabe.text; n := length(Wort); Permutiere(Wort, Eingabe);
end;
procedure TPermutation.Permutiere(Wort, Eingabe: string);
var NeuWort : string; NeuEingabe : string; i : integer;
begin
If (n>1) then begin
for i:=1 to n do begin NeuWort := Wort + Zeichen; NeuEingabe := Eingabe; Permutiere(NeuWort, NeuEingabe); end; end else begin listbox.items.add(Wort); end;
end; |
So mein Problem ist das ich folgendes nicht verstehe.
Die Variable "Zeichen" ist immer ein Buchstabe der angehengt wird, ich weiß aber nicht wie ich das machen soll, die Variable muss die Buchstaben ja irgendwoher beziehen,
Muss ich die Variable als array benutzen und das eingegebene Wort in das array einfügen ???
Das zweite Problem ist meine Ausgabe der Wörter, also wenn ich nur ein Buchstabe eingebe dann funktioniert das mit der Zeile "listbox.items.add(Wort);"
Kann ich diese Zeile auch für den ersten Teil benutzen? Und wo muss ich die Zeile hinschreiben ? In meine Schleife ?
Sorry da es so viele Fragen auf einmal sind aber das wurmt mich grad voll
Schonmal danke für eure antworten.
MFG Rage
Moderiert von
Gausi: Delphi-Tags hinzugefügt.