AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sortieralgorithmen

Ein Thema von biby90 · begonnen am 15. Aug 2011 · letzter Beitrag vom 22. Aug 2011
Antwort Antwort
biby90
(Gast)

n/a Beiträge
 
#1

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 16:52
na das sieht doch schon eher nach dem aus was ich brauche. danke ich versuchs mal
  Mit Zitat antworten Zitat
biby90
(Gast)

n/a Beiträge
 
#2

AW: funktion erstellen... weiß nicht weiter

  Alt 17. Aug 2011, 11:13
hier das endprodukt... danke nochmal ihr seid die besten
Delphi-Quellcode:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    function Sort(ASrcA, ASrcD: String): Integer;
    function CharToInt(AValue: String): Integer;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  CharTable: array[0..51] of String =
    ('A', 'a', 'B', 'b', 'C', 'c', 'D', 'd', 'E', 'e', 'F', 'f', 'G', 'g', 'H',
      'h','I', 'i', 'J', 'j', 'K', 'k', 'L', 'l', 'M', 'm', 'N', 'n', 'O', 'o',
      'P', 'p', 'Q', 'q', 'R', 'r', 'S', 's', 'T', 't', 'U', 'u', 'V', 'v',
      'W', 'w', 'X', 'x', 'Y', 'y', 'Z', 'z');



implementation


{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
var
  i, j : Integer; //Position
  Buffer: String;
begin
  for j:=0 to Memo1.Lines.count -2 do
  begin
    for i:=j +1 to Memo1.Lines.Count -1 do
    begin
      if Sort(Memo1.Lines[j], Memo1.Lines[i]) > 0 then
      begin
        Buffer:= Memo1.Lines[j];
        Memo1.Lines[j]:= Memo1.Lines[i];
        Memo1.Lines[i]:= Buffer;
      end;
    end;
  end;
end;

function TForm1.CharToInt(AValue: String): Integer;
var
  i: Integer;
begin
  Result := -1;

  for i := 1 to Length(CharTable) do
  begin
    if AValue = Chartable[i] then
    begin
      Result := i;
      Break;
    end;
  end;
end;

function TForm1.Sort(ASrcA, ASrcD: String): Integer;
var
  i, j: Integer;
  lResult: Integer;
begin
  Result := 0;

  for i:=1 to Length(ASrcD) do
  begin
    if CharToInt(ASrcA[i]) = CharToInt(ASrcD[i]) then
    begin
      Result := 0;
    end else
    begin
      if CharToInt(ASrcA[i]) < CharToInt(ASrcD[i]) then
      begin
        Result:= -1;
        Break;
      end else
      begin
        Result := +1;
        Break;
      end;
    end;
  end;
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#3

AW: funktion erstellen... weiß nicht weiter

  Alt 17. Aug 2011, 12:13
Und wenn ASrcA kürzer als ASrcD ist, kracht es u.U. in Deiner Sort-Methode, da Du aus dem Nirvana liest.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
biby90
(Gast)

n/a Beiträge
 
#4

AW: funktion erstellen... weiß nicht weiter

  Alt 17. Aug 2011, 12:23
hö? verstehe gerade nur bahnhof.... es funktioniert auf jeden fall und das ist die hauptsache.
mein ausbilder findet es auch in ordnung
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#5

AW: funktion erstellen... weiß nicht weiter

  Alt 17. Aug 2011, 12:36
Dann ruf doch einmal Sort('123', '12345') auf.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
biby90
(Gast)

n/a Beiträge
 
#6

AW: funktion erstellen... weiß nicht weiter

  Alt 17. Aug 2011, 13:20
hmm.... vorhin hatte es geklappt dass Baumhaus unter Baum stand und beim sortieren es eben getauscht hat

er machts immer noch genau so... nur nicht zahlen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#7

AW: funktion erstellen... weiß nicht weiter

  Alt 17. Aug 2011, 13:22
Dann sortier nochmal oder ruf wie gezeigt die Funktion direkt auf.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:32 Uhr.
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