Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Arrayschleife- wie geht das Sortieren am besten? (https://www.delphipraxis.net/100780-arrayschleife-wie-geht-das-sortieren-am-besten.html)

RedFive 3. Okt 2007 21:04


Arrayschleife- wie geht das Sortieren am besten?
 
Hallo,

ich sitze gerade an folgender aufgabe:

- benutzer soll länge des arrays angeben können.
- dann werden aus den gewünschten zahlen zufallszahlen zwischen 1 und 100 (ganze zahlen) gebildet
bsp: länge 5 -> zahlen 8 24 56 78 92

die zufallszahlen sollen ausgegeben werden (in nem Editfeld
es soll das maximum (die größte zahl) ausgegeben werden (in nem Editfeld)
die zahlen sollen geordnet ausgegeben werden:
a) groß zu klein
b) klein zu groß
(alles in editfeldern)

bisher hab ich das hier erreicht:

unit Unit2;

interface

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

type
TForm1 = class(TForm)
BtnEinlesen: TButton;
BtnErzeugen: TButton;
BtnAnzeigen1: TButton;
BtnMaximum1: TButton;
EdtAnzeige: TEdit;
EdtMaximum: TEdit;
EdtSortiert: TEdit;
BtnSortieren1: TButton;
BtnSortieren2: TButton;
EdtLaenge: TEdit;
procedure BtnEinlesenClick(Sender: TObject);
procedure BtnErzeugenClick(Sender: TObject);
procedure BtnAnzeigen1Click(Sender: TObject);
procedure BtnMaximum1Click(Sender: TObject);
private
{ Private-Deklarationen}
public
{ Public-Deklarationen}
end;

var
Form1: TForm1;
array1 : array of integer;
zahl : integer;
n: integer;
implementation

{$R *.DFM}

procedure TForm1.BtnEinlesenClick(Sender: TObject);
begin
n:=0 ;
zahl:= strtoint(EdtLaenge.text);
setlength(array1, zahl);

end;

procedure TForm1.BtnErzeugenClick(Sender: TObject);
begin
randomize ;
for n:=0 to (zahl-1) do
array1[n]:=random(100)+1;
end;

procedure TForm1.BtnAnzeigen1Click(Sender: TObject);
begin
for n:=0 to (zahl-1) do
EdtAnzeige.Text:=EdtAnzeige.Text+ ' ' +inttostr(array1[n]);
end;

procedure TForm1.BtnMaximum1Click(Sender: TObject);
begin

end;

procedure TForm1.BtnSortieren1Click(Sender: TObject);


end;

end.

wie kriege ich nun das Maximum/Sortieren hin?

Danke schonmal im Voraus für die Hilfe!

Nikolas 3. Okt 2007 21:18

Re: Arrayschleife- wie geht das Sortieren am besten?
 
Greif dir die Suchfunktion und suche das Tutorial von Daniel. Dann nimmst du das Verfahren mit dem schönsten Namen und passt es für deine Zwecke an. :roll:
Ich glaube es gibt keine Frage in der Informatik, die häufiger beantwortet wurde.

Aber: Herzlich Willkommen in der DP :mrgreen:

guidok 4. Okt 2007 11:01

Re: Arrayschleife- wie geht das Sortieren am besten?
 
Wobei dir wenig bei deiner Hausaufgabe geholfen ist, wenn du nicht verstehst, wie die kopierte Funktion funktioniert. Mit ein bischen Nachdenken kommst du auch selbst auf eine Lösung. Vielleicht nicht die optimale Lösung, aber auf jeden Fall auf eine funktionsfähige.

Z.B. die größte Zahl:

-Setze eine Variable "Max" auf den Wert Null.
-Vergleiche die erste Zahl im Array mit Max und falls sie größer ist, dann setze Max auf den Wert der eben verglichenen Zahl.
-Vergleich die zweite Zahl im Array, usw. bis zum Ende.
-Jetzt sollte Max die größte Zahl enthalten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 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 by Thomas Breitkreuz