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
Seite 1 von 8  1 23     Letzte »    
biby90
(Gast)

n/a Beiträge
 
#1

Sortieralgorithmen

  Alt 15. Aug 2011, 15:52
Delphi-Version: 5
hallo leute,
ja ich weiß die schon wieder
heute muss ich eine funktion schreiben, die das vergleichen von 2 zeilen ersetzen soll (wenn ihr euch noch an den bubblesort von freitag erinnert)
Delphi-Quellcode:
unit sortieren;

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: Char): Integer;

    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  CharTable: array[0..25] of Char =
    ('A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I','J', 'K', 'L', 'M', 'N', 'O',
      'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');



implementation


{$R *.dfm}



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

function TForm1.CharToInt(AValue: Char): Integer;
var
  i : Integer;
begin
  Result := -1;
  for i := 1 to length(CharTable) do
  begin
    if CharTable[i] = AValue then
    begin
      Result := i;
      Break;
    end;
  end;
end;

function TForm1.Sort(ASrcA, ASrcD: String): Integer; // komme ab hier nicht weiter
var
  i: Integer;
  s: String;
begin
  Result := -1;
  for i := 1 to Length(CharTable) do

end;

end.
wenn ihr es euch mal ansehen könntet... über einen tipp würde ich mich freuen!

Geändert von mkinzler (18. Aug 2011 um 16:14 Uhr) Grund: Titel auf Wunsch des TE geändert
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: funktion erstellen... weiß nicht weiter

  Alt 15. Aug 2011, 15:56
Hier kommt der Tipp *Trommelwirbel*: http://docwiki.embarcadero.com/VCL/d...istSortCompare
Schau Dir im Besonderen einmal die Rückgabewerte an.
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
 
#3

AW: funktion erstellen... weiß nicht weiter

  Alt 15. Aug 2011, 16:06
theoretisch versteh ich es.... aber praktisch ist so eine Sache... ich probier mal rum.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: funktion erstellen... weiß nicht weiter

  Alt 15. Aug 2011, 16:26
Wenn es nur um das Vergleichen geht, würde ich die Funktion Compare nennen. Im ButtonClick könnte das dann später so aussehen:
Delphi-Quellcode:
for j := 0 to Memo1.lines.count -2 do
  begin
    for i := j+1 to Memo1.Lines.Count -1 do
    begin
      if Compare(Memo1.Lines[j], Memo1.Lines[i]) > 0 then
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
 
#5

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 09:26
ich soll ja eine funktion erstellen die alle werte auf einmal vergleicht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 09:32
Das macht keinen Sinn. Oder soll die Funktion auch gleich das Tauschen und somit die komplette eigentliche Sortierung übernehmen?
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
 
#7

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 09:44
nein eigentlich nur das vergleichen ich denke dass mein ausbilder mir bloß die funktionen näher bringen will.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 09:57
Dann erklär doch einmal, was genau Deine Funktion vergleichen und vor allem, was sie zurückgeben soll (Minimum, Maximum oder was?).
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
 
#9

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 10:06
also sie soll eben alle werte in einem Wort vergleichen und das Höchste auf eine Stelle höhersetzen... aber das soll ja im endeffekt nicht mit in die funktion. die funktion soll eben nur jeden einzelnen buchstaben eines worten mit den einzelnen buchstaben vom zweiten wort usw. vergleichen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: funktion erstellen... weiß nicht weiter

  Alt 16. Aug 2011, 10:09
Einen String kannst Du wie ein Array durchlaufen, um die einzelnen Buchstaben zu ermitteln. Und den ASCII-Code eines Buchstaben erhältst Du mit Delphi-Referenz durchsuchenOrd().
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
Seite 1 von 8  1 23     Letzte »    


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 07:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz