AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Arrayschleife- wie geht das Sortieren am besten?
Thema durchsuchen
Ansicht
Themen-Optionen

Arrayschleife- wie geht das Sortieren am besten?

Ein Thema von RedFive · begonnen am 3. Okt 2007 · letzter Beitrag vom 4. Okt 2007
Antwort Antwort
RedFive

Registriert seit: 3. Okt 2007
1 Beiträge
 
#1

Arrayschleife- wie geht das Sortieren am besten?

  Alt 3. Okt 2007, 20:04
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!
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Arrayschleife- wie geht das Sortieren am besten?

  Alt 3. Okt 2007, 20:18
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.
Ich glaube es gibt keine Frage in der Informatik, die häufiger beantwortet wurde.

Aber: Herzlich Willkommen in der DP
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#3

Re: Arrayschleife- wie geht das Sortieren am besten?

  Alt 4. Okt 2007, 10:01
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.
  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 00:54 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