Autor Beitrag
julian2003
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mo 11.05.09 16:06 
ausblenden 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:
var
  Form1: TForm1;
  a:array [1..9of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var bis, i, h:integer;
begin
  randomize;
  bis := High(a);
  for i:=1 to bis do
    a[i]:=random(100)+1;
  repeat
   for i:=0 to bis do
   if a[i] > a[i+1then begin
     h := a[i];
     a[i] := a[i+1];
     a[i + 1] := h
   end;
   Dec(bis)
  until bis = 1;

  for i:=1 to high(a) do
  listbox1.Items.Add(inttostr(a[i]));

end;


wie kann ich nun das ganze mit 9 random-buchstaben machen?

vielen dank, julian


Zuletzt bearbeitet von julian2003 am Di 12.05.09 21:01, insgesamt 1-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 11.05.09 22:15 
Moin!

user profile iconjulian2003 hat folgendes geschrieben Zum zitierten Posting springen:
wie kann ich nun das ganze mit 9 random-buchstaben machen?
Was hast du denn bisher versucht, um die Aufgabe zu lösen? Vorschläge, vielleicht schon etwas Code (muss ja nicht unbedingt funktionieren)? :nixweiss: Was erwartest du jetzt von uns, fertigen Quelltext? :?

Nun gut, hier mal ein erster Ansatz:
user profile iconjulian2003 hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
3:
var
  Form1: TForm1;
  a:array [1..9of integer;
Hier deklarierst du ein Integer-Array. Wenn du statt dessen Buchstaben nehmen willst, dann wäre der Datentyp Char ja schonmal der erste Schritt. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
julian2003 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 12.05.09 14:35 
in 1 woche bekomm ich vermutlich meine schularbeit zurück dann kann ich euch meinen falschen ansatz zeigen :roll:
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Di 12.05.09 16:43 
Am besten sucht man doch einfach immer erst mal, ob die Frage nicht irgendwo schon beantwortet wurde.
- Wie zum Beispiel hier: [url=www.delphi-forum.de/...t=buchstaben+random]
Zufallsbuchstaben regenerieren?[/url]
Dort steht doch:
Zitat:
Wie kann man nun aber Zufallsbuchstaben generieren?

...auch wenn der Titel leider nicht so ganz richtig dafür spricht, dass man genau dieses darunter vermuten darf.
julian2003 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 12.05.09 16:51 
mir geht es ja mehr darum die buchstaben dann mit dem bubblesort alphabetisch zu sortieren.
lg,julian
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Di 12.05.09 16:58 
user profile iconjulian2003 hat folgendes geschrieben Zum zitierten Posting springen:
mir geht es ja mehr darum die buchstaben dann mit dem bubblesort alphabetisch zu sortieren.
lg,julian

Und wo hakt's nun? Meine Glaskugel ist leider derzeit sehr trübe bei dem Wetter. :roll:
julian2003 Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 12.05.09 20:43 
Überarbeiteter Quelltext unten!

ausblenden 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:
procedure TForm1.Button2Click(Sender: TObject);
var
i,h,i2,zaehler,i3: integer;
begin
//in dynarray buchstaben einlesen
zaehler:= length(ausgabe); //in ausgabe befinden sich random buchstaben
setlength(sortiert,zaehler);
for i:= 0 to zaehler-1 do
sortiert[i]:= ord(ausgabe[i]);

//Bubblesort
repeat
for i2:= 0 to zaehler-1 do begin
if sortiert[i2] > sortiert[i2+1then begin
h:= sortiert[i2];
sortiert[i2]:= sortiert[i2+1];
sortiert[i2+1]:= h;
dec(zaehler);
end;
end;
until zaehler= 1;

panel2.caption:='';
for i3:= 0 to zaehler-1 do
panel2.caption:= panel2.caption + chr(sortiert[i3]);
end;


Programmier zwar schon seit 2 jahren mit Delphi in der Schule, aber irgendwie liegts mir einfach nicht. :oops:

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

hab nochmal herumgebastelt und er gibt mir jetz zumindest den 1. buchstaben richtig geordnet 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:
var
 sortiert: array of integer;
 sortiert2: array of char;

procedure TForm1.Button2Click(Sender: TObject);
var
i,h,i2,zaehler,i3,i4: integer;
begin
//in dynarray buchstaben einlesen
zaehler:= length(ausgabe); //in ausgabe befinden sich random buchstaben
setlength(sortiert,zaehler);
for i:= 0 to zaehler-1 do
sortiert[i]:= ord(ausgabe[i+1]);

//Bubblesort
repeat
for i2:= 0 to zaehler-1 do begin
if sortiert[i2] > sortiert[i2+1then begin
h:= sortiert[i2];
sortiert[i2]:= sortiert[i2+1];
sortiert[i2+1]:= h;
dec(zaehler);
end;
end;
until zaehler= 1;

panel2.caption:='';
setlength(sortiert2,zaehler);
for i3:= 0 to zaehler-1 do
sortiert2[i3]:= chr(sortiert[i3]);

for i4:= 0 to zaehler-1 do
panel2.caption:= panel2.caption + sortiert2[i4];
end;


Zuletzt bearbeitet von julian2003 am Di 12.05.09 20:59, insgesamt 1-mal bearbeitet