Delphi-PRAXiS
Seite 6 von 8   « Erste     456 78      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Sortieralgorithmen (https://www.delphipraxis.net/162274-sortieralgorithmen.html)

biby90 18. Aug 2011 15:51

AW: funktion erstellen... weiß nicht weiter
 
ihr habt recht he he... immerhin ist das thema funktionen vorbei.....
Zitat:

Immer noch am sortieren, Kumpel?

ja ganz genau... nur noch feinarbeiten..... kannst mich gerne als kumpeline bezeichnen:wink:


wie änder ich hier denn den namen? oder geht das gar nicht

DeddyH 18. Aug 2011 15:58

AW: funktion erstellen... weiß nicht weiter
 
Das geht nur innerhalb von 24 Stunden. Aber wenn Du einen Mod lieb darum bittest ("Report"-Button), übernimmt er das bestimmt gerne für Dich ;)

biby90 18. Aug 2011 16:04

AW: funktion erstellen... weiß nicht weiter
 
ich tu mein bestes^^

bernerbaer 18. Aug 2011 16:35

AW: Sortieralgorithmen
 
Auch wenn es hier nun keine direkte Hilfe ist. Ich finde die Aufgabenstellung bzw die Anforderungen sind didaktisch mindestens fragwürdig.

Als Programmierer geht man (ich) in der Regel vereinfacht so vor:

1. Problemerfassung (Was wird verlangt?)
2. Welche Eingaben benötige ich/sind vorgegeben (Hier TStrings bzw Memo.lines)
3. Wie soll das Resultat präsentiert werden? (Hier TStrings, bzw Memo.lines)
4. Wie gelange ich von der Eingabe zum Resultat (Algo -> Hier Shellsort)

Nun wenn ich hier diese obigen Schritte durchgehe, wird ein (durchschnittlicher) Programmierer wohl den kürzesten und effizientesten Weg wählen. Input und Output sind vom Typ TStrings, weshalb sollte ich da einen Umweg über Array of String nehmen? Für das Erreichen des Zieles (Schreiben eines Sortieralgorithmus) ist das absolut unerheblich und lenkt nur von der eigentlichen Aufgabe ab.

biby90 19. Aug 2011 08:20

AW: Sortieralgorithmen
 
Zitat:

Als Programmierer geht man
ich bin doch noch ein anfänger.... das muss ich halt alles noch lernen.
ich bin ja erst seit zwei wochen in der ausbildung und muss mich erst einmal an das ganze gewöhnen...
außerdem sind das alles vorgaben von meinem ausbilder um mir das ganze etwas einfacher zu machen... sprich unnötige funktionen erstellen und so weiter für den reinen lerneffekt

bernerbaer 19. Aug 2011 08:44

AW: Sortieralgorithmen
 
Mein Beitrag war auch keineswegs als Vorwurf an Dich gemeint, sondern richtete sich nur an Deinen Ausbildner.

Medium 19. Aug 2011 08:58

AW: Sortieralgorithmen
 
Didaktik scheint aber den meisten (nicht-akademischen) IT-Wissensvermittlern abzugehen. Im Hochschulumfeld fehlt dann aber wiederum gerne mal die Praxisrelevanz :mrgreen:

biby90 19. Aug 2011 09:02

AW: Sortieralgorithmen
 
@bernerbear
hab ich auch nicht als eine aufgefasst....

naja selber ausprobieren find ich persönlich besser. man sieht seine fehler und lernt daraus.

biby90 19. Aug 2011 10:51

AW: Sortieralgorithmen
 
habe jetzt in meinem button eingefügt, dass wenn ein leerstring vorhanden ist, die zeile gelöscht wird. aber irgendwie funktioniert das nicht ganz.... wenn er es sortiert hat fehlt ein wort und die obere zeile ist leer....
ich habe mir jetzt gedacht, dass ich die zeile um einen verschiebe, wenn eine zeile gelöscht wurde.
also entweder lasse ich ihn das ganze noch einmal prüfen ab der gelöschten zeile oder mache es so wie ich es probiert habe....
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lArray: array of String;
  i, j : Integer;
  A, B : String;
begin
  SetLength(lArray, Memo1.Lines.Count);

  for i := 0 to Memo1.Lines.Count -1 do
  begin
    //sicherstellen, dass der String min. ein Zeichen hat.
    if Memo1.Lines.Strings[i] = '' then
    begin
      Memo1.Lines.Delete(i);
      dec(j); //klappt trotzdem nicht
    end else
    begin
      lArray[i] := Memo1.Lines.Strings[i][1];
    end;
  end;

    //Array sortieren.
    ShellSort(lArray);

    //TODO: Array zurück ins Memo kopieren.
    Memo1.Lines.Clear;
    Memo1.Lines.Add('');
    for i := 0 to Length(lArray) - 1 do
    begin
      Memo1.Lines.Add(lArray[i]);
    end;
end;
naja es klappt aber irgendwie nicht.

Bjoerk 19. Aug 2011 11:32

AW: Sortieralgorithmen
 
Das mußt du mit einer while Schleife machen, da sich Memo1.Lines.Count ändert, wenn eine Zeile gelöscht wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr.
Seite 6 von 8   « Erste     456 78      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz