Delphi-PRAXiS
Seite 7 von 17   « Erste     567 89     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Programm Hilfe (https://www.delphipraxis.net/163840-programm-hilfe.html)

boxer123 23. Okt 2011 13:38

AW: Programm Hilfe
 
genau da weiß ich nicht mehr weiter vielleicht eine hilfestellung

DeddyH 23. Okt 2011 13:45

AW: Programm Hilfe
 
Delphi-Quellcode:
Durchlauf := 1;
repeat
  //wir sagen mal von vornherein: wir sind fertig
  done := true;
  for i := Low(DeinArray) to High(DeinArray) - Durchlauf do
    if DeinArray[i] > DeinArray[i + 1] then
      begin
        //tauschen (selbst implementieren)
        //wir mussten tauschen, also doch nicht fertig
        done := false;
      end;
  Durchlauf := Durchlauf + 1;
until done; //nix mehr getauscht -> fertig
[edit] P.S.: Das ist aufsteigende Sortierung, für absteigende muss der Vergleich genau anders herum sein. [/edit]

boxer123 23. Okt 2011 13:49

AW: Programm Hilfe
 
jetzt aber oder?

DeddyH 23. Okt 2011 13:54

AW: Programm Hilfe
 
Es ist nicht sehr zielführend, wenn Du "alte" Posts editierst und man erst suchen muss, wo der geänderte Code jetzt steht. Außerdem subtrahierst Du ja jetzt fix immer 1, im Gegensatz zu mir. Und ein wenig Formatierung und Einrückung täte Deinem Code gut. Versuch doch erst einmal, den Bubblesort zu begreifen, dann siehst Du auch, wie Du ihn implementieren musst.

boxer123 23. Okt 2011 13:59

AW: Programm Hilfe
 
Delphi-Quellcode:
doppelt:=true;
for i:= Low(a) to High(a) - Strtoint(park) do
if a[i] > a[i+1] then begin
park:=a[i];a[i]:=a[i+1];a[i+1]:=park;
doppelt:= false;
end;
park :=strtoint(park) +1;
until doppelt;
so?

Bjoerk 23. Okt 2011 14:02

AW: Programm Hilfe
 
Zitat:

Zitat von boxer123 (Beitrag 1131993)
ER zerlegt die zahl.
Also wie soll ich fortsetzen, das mit dem ordnen.

Bubblesort. Ich weiß das es eine 4Stellige zahl ist. Also d.h. for i:= 1 to 4 do


Delphi-Quellcode:
var
  Form1: TForm1;
  i,j,zahl1,zahl2,differenz:integer;
  park,spielplatz,zahltext,zahltexteins,zahltextzwei:string;
  doppelt:boolean;
  a,b:array[1..4] of string;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin
zahltext:=edit1.text;
for i:=1 to 4 do
begin
//zerlegung
a[i]:=copy(zahltext,i,1);
b[i]:=copy(zahltext,i,1);
end;
repeat
for i:=1 to 4-1 do
for j:=i+1 to 4 do
if a[i] > a[i+1] then begin
park:=a[i];a[i]:=a[i+1];a[i+1]:=park;
until park=i>1
end;
edit so?

Das ist doch schon mal ganz gut. Schmeiß das repeat until raus und mach aus den a[i+1] a[j], dann hast du den Selectionsort.

Edit: Und aus dem park ein integer und aus a, b array [1..4] of integer statt string und StrToInt(Copy(..

DeddyH 23. Okt 2011 14:03

AW: Programm Hilfe
 
Was willst Du denn jetzt mit diesem komischen "park" (und dann noch String als Integer samt Umwandlung)? Deklarier doch einfach eine Integer-Variable (in meinem Fall "Durchlauf"), dann kannst Du meinen Code fast 1:1 übernehmen.

boxer123 23. Okt 2011 14:09

AW: Programm Hilfe
 
Delphi-Quellcode:
Form1: TForm1;
  i,j,zahl1,zahl2,differenz,durchlauf,park:integer;
  spielplatz,zahltext,zahltexteins,zahltextzwei:string;
  doppelt:boolean;
  a,b:array[1..4] of integer;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin
zahltext:=edit1.text;
for i:=1 to 4 do
begin
//zerlegung
a[i]:=copy(Strtoint(zahltext),i,1);
b[i]:=copy(Strtoint(zahltext),i,1);
end;
durchlauf:=1;
repeat
doppelt:=true;
for i:= Low(a) to High(a) - durchlauf do
if a[i] > a[i+1] then begin
park:=a[i];a[i]:=a[i+1];a[i+1]:=park;
doppelt:= false;
end;
durchlauf :=durchlauf +1;
until doppelt;
so?

wie so?

Bjoerk 23. Okt 2011 14:28

AW: Programm Hilfe
 
In dieser Variante gibt es kein J.

boxer123 23. Okt 2011 14:35

AW: Programm Hilfe
 
das mit copy ist schwer dann


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Seite 7 von 17   « Erste     567 89     Letzte »    

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