Autor Beitrag
Rage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Do 15.12.05 11:55 
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:
ausblenden volle Höhe Delphi-Quelltext
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>1then
  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 user profile iconGausi: Delphi-Tags hinzugefügt.