Autor Beitrag
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mi 11.06.08 09:33 
Hi
Nun will ich dir mal erklären, wie du dem Fehler auf die Spur kommen kannst.
Nimm ein Memo und tipp ein paar zahlenwerte ein. Dann setzt du erst mal eine Stringlist in die Form und versuchst völlig ohne großartigen Programmieraufwand die Zahlen aus eimem Memo in eine Listbox einzutragen
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
TMyForm.FormCreate(Sender : TObject);
Var i : Integer; // Laufvariable
Begin
  For i:=0 to Memo1.Lines.Count-1 do
  Begin
    Listbox1.Items.Add(Memo1.Lines[i]); // Die Lines werden mit i indiziert !
  end;
end;

Wenn du dir das Erggebnis anschaust, findest du die Zahlenwerte aus deiner Memo in der Listbox wieder. Die letzte Zeile ist allerdings eine Leerzeile, daher würde bei
ausblenden Delphi-Quelltext
1:
2:
3:
4:
For i:=0 to Memo1.Lines.Count-1 do
Begin
  Listbox1.Items.Add(IntToStr(StrToInt(Memo1.Lines[i]))); // mit integerwandlung
end;

ein Fehler gemeldet. Also hilft
ausblenden Delphi-Quelltext
1:
2:
3:
4:
For i:=0 to Memo1.Lines.Count-2 do
Begin
  Listbox1.Items.Add(IntToStr(StrToInt(Memo1.Lines[i]))); // mit integerwandlung
end;

Das geht. Nun Sollte auch die Sortierung kein Problem mehr sein, denn wie du sicherlich gemerkt hast, greif ich hier indiziert auf die Lines, du aber mit Lines.Strings ohne Index, das kann nicht funktionieren.....
Den Rest solltest du nun aber hinbekommen.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mi 11.06.08 13:09 
Ich bekommes trotzdem nicht hin, jetzt eigentlich noch weniger, du greifst doch auch nur auf eine Zeile algemein ein, nicht auf die Zahlen die da drin stehen, wenn jetzt in jeder Zeile eine Zahl wäre und ich die sortieren sollte wäre es ja kein Problem, aber so hab ich keine Ahnung.
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mi 11.06.08 13:35 
Hi
Ok, da hab ich was falsch verstanden. Trotzem ist da kein großer unterschied....
Versuch mal folgendes :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
TMyForm.FormCreate(Sender : TObject);  
Var i         : Integer; // Laufvariable  
    TestStr   : String;
    ZahlStr   : String;
Begin  
  TestStr:=Memo1.Lines[0]; // wenn du nur die erste Zeile willst
{ alternativ :  TestStr:=Memo1.Text; }
  ZahlStr:=''// einen völlig leeren String erzeugen
  For i:=1 to Length(TestStr) do  
  Begin 
    if TestStr[i]=' ' then 
    begin // leerzeichen bildet die Trennung der Zahlen
      if ZahlStr<>'' then 
      begin  // nur wenn wirklich was in ZahlStr drin steht
        Listbox1.Items.Add(ZahlStr); // hier schreibst du die Zahlen in die Listbox  
        ZahlStr:='';
      end;
    end else ZahlStr:=ZahlStr+TestStr[i]; // zusammenhängende Zahlen bilden

  end;  
end;

Dieses Beispiel verhindert nicht, das Buchstaben nicht mit in die Zahlenkette geraten, aber das überlass ich dir, dies auszuwerten, bzw. zu verhindern. Was du nun mit den Zahlen anfängst, bleibt dir überlassen. Natürlich kannst du nun die Werte in ein Array schreiben, oder innerhalb der Listbox aufarbeiten. Letzteres würd ich so machen, da du nun auch ganz gut die Sortierung nachvollziehen kannst. Natürlich gehört diese Routine nicht in die FormCreate, aber du kannst dafür auch eine eigene Procedure schreiben und diese dann per Button aufrufen.
Gruß oldmax

sorry fürs Edit, hab die Delphi Tags vergessen

_________________
Zier dich nich so, ich krieg dich schon....
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 11.06.08 13:58 
Moin!

Ich greife nochmal meine Frage von weiter vorne auf: muss es denn unbedingt das Einlesen aus einem Memofeld sein? Ich dachte, du sollst ein Referat über Bubble-Sort und nicht über Zahlen-Einlesen machen... :roll:

Vorschlag:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

procedure TForm1.Button1Click(Sender: TObject);
  var
    Eingabe: String;
begin
  if InputQuery('Neue Zahl hinzufügen','Zahl:',Eingabe) then
    ListBox1.Items.Add(Eingabe);
end;
Damit kannst du dich nun auf das Sortieren konzentrieren, und nicht auf das Einlesen. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mi 11.06.08 14:44 
Achso ehm das Referat hab ich schon gehalten, da hab ich auch ein Programm zu geschrieben, mit jeweils einer Zahl pro Zeile, das geht auch.
Nur jetzt am Freitag schreibe ich eine Klausur und da glaube ich, dass wir mehrere Zahlen in einer Zeile ordnen sollen.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 11.06.08 15:40 
Moin!

user profile iconamazing hat folgendes geschrieben:
Achso ehm das Referat hab ich schon gehalten, da hab ich auch ein Programm zu geschrieben, mit jeweils einer Zahl pro Zeile, das geht auch.
Ah, OK. ;) (hab ich irgendwie bisher nicht gepeilt, aus deinen Beiträgen... :?)

user profile iconamazing hat folgendes geschrieben:
Nur jetzt am Freitag schreibe ich eine Klausur und da glaube ich, dass wir mehrere Zahlen in einer Zeile ordnen sollen.
Das ist allerdings ein komplett anderes Thema, als Sortieren, denn hier geht es um Textanalyse und Konvertierung. Bist du sicher, dass das Thema sein wird? :shock: Ich vermute, du bist da auf dem Holzweg (ich kann mir das einfach nicht vorstellen, dass der Lehrer übergangslos von Sortieren zu Textanalyse übergeht, das muss irgendwie vorbereitet worden sein :nixweiss:)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mi 11.06.08 17:06 
Nachdem ich jetzt gesehen habe wie das funktioniert, kann ich mir das auch nicht vorstellen, aber der Lehrer hat gesagt, er gibt uns ein unfertiges Programm vor, dass wir fertig schreiben sollen, da hat der uns schonmal so ein Beispiel gezeigt, da waren die Zahlen in einer Reihe, damit man jeden einzelnen Schritt sehen kann.
Gibt es da vielleicht noch ein besonderes Feld, wo das einfacher geht?
Aber ich weiß ja wie Bubblesort funktioniert und wie ich es schreiben muss, zur Not schreib ich das einfach um.^^
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 11.06.08 18:41 
Moin!

user profile iconamazing hat folgendes geschrieben:
Nachdem ich jetzt gesehen habe wie das funktioniert, kann ich mir das auch nicht vorstellen,
Gut, dann sind wir da ja schonmal einen Schritt weiter. ;)

user profile iconamazing hat folgendes geschrieben:
aber der Lehrer hat gesagt, er gibt uns ein unfertiges Programm vor, dass wir fertig schreiben sollen, da hat der uns schonmal so ein Beispiel gezeigt, da waren die Zahlen in einer Reihe, damit man jeden einzelnen Schritt sehen kann.
Das bezweifele ich auch kein Bischen, aber ich schätze einfach mal, dass es nur um die Ausgabe der Zahlen in z.B. einem Memofeld geht, wärend die zu sortierenden Zahlen selbst als Integer in einem Array abgelegt sind. :idea: Das macht sehr viel mehr Sinn, als die Eingabe einer Zahlenfolge per Memo. :think:

user profile iconamazing hat folgendes geschrieben:
Gibt es da vielleicht noch ein besonderes Feld, wo das einfacher geht?
Hm, einfacher als ein array of Integer kann ich mir kaum vorstellen... :gruebel: :nixweiss:

user profile iconamazing hat folgendes geschrieben:
Aber ich weiß ja wie Bubblesort funktioniert und wie ich es schreiben muss, zur Not schreib ich das einfach um.^^
Mach das.

Fein, ich denke, dann haben wir das Thema ja doch noch "fertig" bekommen. :)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mi 11.06.08 21:10 
Wie sähe das denn us, wenn die Zahlen in einem Array abgelegt sind, die müssen ja irgentwo her kommen, hast Du ein Beispiel?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Button1Click(Sender: TObject);
var rand,anzahl : integer;
    i : integer;
begin
 anzahl := strtoint(edit1.text);
 for i := 0 to anzahl do begin
 rand := random(50)+1;
 memo2.lines.add(inttostr(rand));
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var zahlen: array [0..5of integer;
    i,j : integer;
    zahlfeld : integer;
begin
end;

end.

Also, ich gebe eine bestimmbare Anzahl an zufälligen Zahlen in Memo2 aus.
In Memo1 soll pro Zeile ein Tauschdurchgang ausgegeben werden.
Ich hab mir den Kopf zerbrochen, wie ich die Zahlen aus Memo2 auf den Array spiele und dann den ersten Sortierdurchgang mache. Ich habe jetzt mal [0..5] genommen also gehen 6 Zahlen drauf, soviel weiß ich, aber wie zu anfang des Threads schon gesagt hab ich eigentlich noch nie mit Arrays gearbeitet und hänge dem entschprechend jetzt dort.

Moderiert von user profile iconNarses: Überflüssige Leerzeilen entfernt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.06.08 00:44 
Moin!

user profile iconamazing hat folgendes geschrieben:
Also, ich gebe eine bestimmbare Anzahl an zufälligen Zahlen in Memo2 aus.
[...]
Wie sähe das denn us, wenn die Zahlen in einem Array abgelegt sind, die müssen ja irgentwo her kommen, hast Du ein Beispiel?
Genau hier ist schon der Trick (oder dein Missverständnis): du gibst die Zahlen nur ins Memo aus, aber eigentlich solltest du die Zahlen zuerst mal in einem globalen Array ablegen und dann von dort aus ins Memo schreiben: :idea:
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:
var
  Zahlen: array[0..5of Integer; // globales Zahlenfeld, 6 Elemente

procedure TForm1.Ausgabe; // Zahlen ausgeben
  var
    i: Integer;
    tmp: String;
begin
  tmp := ''// temp. Sammelvariable
  for i := 0 to 5 do // alle 6 Zahlen
    tmp := IntToStr(Zahl[i]) +' '// in den temp. String
  Memo2.Lines.Add(tmp); // und diesen dann ins Memo
end;

procedure TForm1.Button1Click(Sender: TObject); // Zahlen erzeugen
  var
    i: Integer;
begin
  for i := 0 to 5 do // alle 6 Zahlen
    Zahl[i] := Random(50) +1// mit Zufallszahl 1..50 belegen
  Ausgabe; // und ausgeben
end;

procedure TForm1.Button2Click(Sender: TObject); // Zahlen sortieren
  var
    i,j,tmp: Integer;
begin
  for j := 4 downto 0 do begin // äußere Schleife 4..0
    for i := 0 to j do // innere Schleife 0..j
      if (Zahl[i] > Zahl[i+1]) then begin // Zahlen verkehrtrum?
        tmp := Zahl[i]; // dann tauschen
        Zahl[i] := Zahl[i+1];
        Zahl[i+1] := tmp;
      end;
    Ausgabe; // nach einem Durchlauf Zwischenergebnis ausgeben
  end;
end;
cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Do 12.06.08 06:43 
Hi
Es ist doch völlig egal, wie und wo Zahlen gegeben sind. Zur Not muß man diese eben aus einem String herausfiltern. Du schreibst, es ist kein Problem, aus mehreren Zeilen die Zahlen im Memofeld zu lesen, dasselbe sollte nach meinem letzten Script auch von Zahlen in einer Zeile der Fall sein. Es ist halt nur das herauslösen aus einem String.
Wenn du nicht weißt, wieviele Zahlen du zu erwarten hast, halte ich die Lösung mit einem Array bei deinem Wissensstand ( sorry für diese Aussage ) falsch, es sei denn, du weißt , wie man dynamische Arrays aufbaut, oder zu Laufzeit den Bereich vergrößert. Dies bezweifle ich allerdings nach dem, was ich hier zu lesen bekomme.
Daher ist die Lösung mit der Listbox nach wie vor mein Favorit, nachdem ich ja weiß, das Typwandlung bekannt sein muß (StrToInt sowie IntToStr)
So wie du nach dem Typ Array fragst, scheint mir, das ihr darüber wohl noch nicht geredet habt. Versteh's nicht falsch, aber es muß dir klar sein. Du bekommst eine Aufgabe, die wir nicht ahnen können, und du mußt einen Weg finden, der dir mit deinen Mitteln zur Lösung hilft. Da kann ich dir nur sagen, laß mal einen "Gedankensturm" los und blätter mal alles durch, worüber ihr gesprochen habt. Irgendwas davon wird geeignet sein, irgendwelche Werte in der gewünschten Form zu bearbeiten. In diesem Fall wären die Werte "Zahlen" und die Aufgabe "sortieren".
Wenn du dann dein Aufgabenblatt vorgelegt bekommst, wird es dir nicht helfen, etwas über Arrays gehört , aber die Struktur nicht verstanden zu haben.
Natürlich weiß ich nicht, ob's klar ist, das man in einem String auch auf jedes einzelne Zeichen zugreifen kann, das man Strings addieren und somit neue Strings bilden kann. In welcher Reihenfolge nun eure Lehrinhalte vermittelt werden, weiß ich nicht. Daher solltest du es dir zur Regel machen, auch mal um die Ecke zu denken. Dein Werkzeug (was auch immer du gelernt hast ) mußt du einsetzen können.
Das soll jetzt nicht heißen, du sollst die Arrays ignorieren, allerdings bin ich mir nicht sicher, ob du sie brauchst.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Do 12.06.08 12:32 
Das blöde ist ja nur wenn der Lehrer es in der Klausur trotzdem verlangt, hab noch ein paar Fragen

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
zahlen[0] := strtoint(memo1.lines[0]);
zahlen[1] := strtoint(memo1.lines[1]);
zahlen[2] := strtoint(memo1.lines[2]);
zahlen[3] := strtoint(memo1.lines[3]);
zahlen[4] := strtoint(memo1.lines[4]);
zahlen[5] := strtoint(memo1.lines[5]);
zahlen[6] := strtoint(memo1.lines[6]);

zahlen ist array [0..6] of integer, dann hab ich ich i als Laufvariable.
Um das zu vereinfachen:
ausblenden Delphi-Quelltext
1:
2:
for i := 0 to 6 do
 zahlen[i] := strtoint(memo1.lines[i]);

Ist das so korrekt?
Wenn das so stimmt sind die Zahlen jetzt eingelesen.
Und wenn ich nun nur einen Durchgang pro Klick durchführen möchte, muss ich doch eine Schleife benutzten, oder? Also:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for i := 0 to memo1.lines.count-1 do 
begin
 if zahlen[i] > zahlen[i+1then 
 hilfe := zahlen[i];
 zahlen[i] := zahlen[i+1];
 zahlen[i+1] := hilfe;

Wie geb ich denn jetzt den einen Durchgang in Memo2 aus?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.06.08 12:34 
user profile iconamazing hat folgendes geschrieben:
Wie geb ich denn jetzt den einen Durchgang in Memo2 aus?
user profile iconNarses hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
procedure TForm1.Ausgabe; // Zahlen ausgeben
// s.o.

_________________
There are 10 types of people - those who understand binary and those who don´t.
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Do 12.06.08 12:51 
Stimmt denn alles was ich gesagt habe?

Wenn ich Ausgabe; aufrufen wollte, kam ein Fehler der sagte 'Nicht genügend wirkliche Parameter'.
Kann es sein, dass diese Prozedur immer eine Zahl pro Zeile ausgibt?
Die sollen ja alle in einer Zeile ausgegeben werden.
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Do 12.06.08 13:01 
Hi
Fast hab ich die Vermutung, du versuchst deinen Code auf Papier, d. H. du hast kein Delphi. Sonst würde dir dies nicht passieren....
Zitat:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
for i := 0 to memo1.lines.count-1 do   
 begin  
   if zahlen[i] > zahlen[i+1then   
   hilfe := zahlen[i];  // diesen und die folgenden Befehle in Begin und End 
   zahlen[i] := zahlen[i+1]; // sonst werden diese Befehle immer !! ausgeführt 
   zahlen[i+1] := hilfe;     // nur Hilfe wird in Abhängigkeit vom Vergleich gesetzt
   // außerdem ist dein max. Indexwert Memo.Lines.Count-1 und damit 
   // greifst du beim letzten Durchlauf beim Array über den Arraybereich hinaus
// es fehlt das End für die Schleife

So sollte zumindest der Werteaustausch richtig funktionieren
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
 for i := 0 to memo1.lines.count-2 do   
 begin  
   if zahlen[i] > zahlen[i+1then   
   begin
     hilfe := zahlen[i];  // jetzt werden alle Variablen nacheinander getauscht
     zahlen[i] := zahlen[i+1]; 
     zahlen[i+1] := hilfe;     
   end; // end if
 End; // end For

Beachte bitte das Einrücken. Es zeigt dir ganz deutlich, welche Zeilen bearbeitet werden.
Gruß oldmax

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

Nachtrag:
NArses hat es schon geschrieben : das Zauberword heißt Procedure
Du brauchst eine, um z. B. den Soriervorgang einmal ausführen zu lassen, eine zweite, um die Were aus dem Array in das Memofeld zu übertragen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Procedure TForm.Bubble_Step;
Var i      : Integer;
    Hilfe  : Integer;
Begin
  for i := 0 to memo1.lines.count-2 do     
  begin    
    if zahlen[i] > zahlen[i+1then     
    begin  
      hilfe := zahlen[i];  // jetzt werden alle Variablen nacheinander getauscht  
      zahlen[i] := zahlen[i+1];   
      zahlen[i+1] := hilfe;       
    end// end if  
  End// end For 
End// end Proc

Und die Ansicht
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
Procedure TForm.Show_Array;
Var i      : Integer;
Begin
  Memo2.Lines.Clear; // Memoinhalt löschen
  for i := 0 to memo1.lines.count-1 do Memo2.Lines.Add(IntToStr(Zahlen[i]);    
  
End// end Proc

Abgesehen vom Schönheitsfehler, das du bei jeden Buttonclick alle Zahlen, also auch die bereits sortierten nochmal in der Sortierroutine durchläufst, sollte es so gehen.
Natürlich kannst du auch in der OnClick des Buttons beide Proceduren direkt programmieren, doch es ist sinnvoll, verschiedene Aufgaben von kleinen Programmteilen (Stichwort : Procedure, Function ) erledigen zu lassen. Vorteil: Wenn sie einmal funktionieren, werden sie es immer wieder tun, egal aus welchem Programmbereich sie aufgerufen werden. Außerdem erhöht es die Lesbarkeit eines Programmes gewaltig. Nicht grad bei deinem Dreizeiler, aber besser man gewöhnt sich gleich was richtiges an, als die langen Spaghetticodes, die man als Anfänger sehr gern produziert.
Nun sollte es aber gut sein
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.06.08 13:52 
Moin!

user profile iconoldmax hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
Procedure TForm.Show_Array;
Var i      : Integer;
Begin
  Memo2.Lines.Clear; // Memoinhalt löschen
  for i := 0 to memo1.lines.count-1 do
    Memo2.Lines.Add(IntToStr(Zahlen[i]);    
End// end Proc
Aber das will er doch nicht, es sollen alle Zahlen in einer Zeile ausgegeben werden :nixweiss: und genau das macht mein Vorschlag oben. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Do 12.06.08 13:53 
Hi,

@user profile iconamazing: IMHO war das nur die Beispielaufgabe für die Schüler, dass die Schritte einzeln laufen; in der Klausur sollte ganz normales Bubblesort zum Einsatz kommen, dann. Z.B.: 'Schreiben Sie eine Prozedur, die ein beliebiges Array of Integer mittels Bubblesort sortiert zurückgibt.'

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
amazing Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Do 12.06.08 14:28 
Würde ich jetzt auch vermuten, denn wie man das alles richtig macht haben wir gar nicht besprochen.
Also danke an alle, die mir geholfen haben :)
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Do 12.06.08 17:42 
Sorry, kann ich mir leider nicht verkneifen....

Zitat:
Würde ich jetzt auch vermuten, denn wie man das alles richtig macht haben wir gar nicht besprochen.


?????

und das kann ich auch so nicht stehen lassen:


Zitat:
'Schreiben Sie eine Prozedur, die ein beliebiges Array of Integer mittels Bubblesort sortiert zurückgibt.'


Eine Procedur gibt nichts zurück, sie führt etwas aus ! Für eine Rückgabe ist eine Function ! Zumindest war das bis heut so ! Es sei denn, ich hab was verschlafen...
Aber das wär auch nicht das erste mal.

Oldmax

_________________
Zier dich nich so, ich krieg dich schon....
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Do 12.06.08 17:56 
Hi,

user profile iconoldmax hat folgendes geschrieben:
Eine Procedur gibt nichts zurück, sie führt etwas aus ! Für eine Rückgabe ist eine Function
Jop. Genaugenommen könnte ich hier auf Out-Parameter verweisen, aber ich meinte schon function.

Edit: Wobei eine function natürlich auch etwas ausführt (!)

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)