![]() |
sortier verfahren
Hallo ähm brauche hilfe muss ein programm das die größte zahl nehemn soll und diese abspeichern und dann die nächst größe und wieder abspeichern und immer so weiter
bitte um schnelle antwort habe bis jetzt
Code:
Weiter checke ich es nicht bedanke mich für eure schnellen antworten
var
e:array [1..10] of integer x,r,i : integer; sortiert : boolean; begin randomize for x := 1 to 10 do e[x] := random (100); repeat sortiert := true; for 1 to 10 do if e[x] > e[x-1] then begin r:= e[x] und den rest des quellcodes :wall: :cyclops: |
Re: sortier verfahren
Soll das ein BubbleSort werden? Dessen Funktionsweise kannst Du bestimmt bei Wikipedia nachlesen.
|
Re: sortier verfahren
nein soll kein bubble sort werden bubble sort habe ich shcon geschaft einfüge verfahren oder so
|
Re: sortier verfahren
Zu jedem der unzähligen Sortierverfahren gibt es QuellCode irgendwo im unerschöpflichen Internet.
Einfach mal google bemühen. Der einfachste Sortieralgorithmus ist bekannterweise der Bubblesort. Weitere sind InsertionSort oder QuickSort oder ... oder ... Du wirst nicht erleben, dass Du hier einen fertigen Programmcode serviert bekommst. Das Motto ist: "Hilfe zur Selbsthilfe". Du wirst Denkanstösse oder Quelltext-Ausschnitte bekommen und den Rest kannst Du dann selber lösen. |
Re: sortier verfahren
Voll die hilfe haha
|
Re: sortier verfahren
Übersetze "Einfügen" mal ins Englische und dann lies Ravens Beitrag nochmal. Ich habe den Algo sofort bei Wikipedia gefunden.
|
Re: sortier verfahren
Zitat:
|
Re: sortier verfahren
Zitat:
Am Besten machst Du es wie Kollege Informatik-LK und suchst Dir einen Mitschüler, der Dich abschreiben lässt. Auf solche Kommentare können wir hier nämlich gut verzichten. /Ironie on Juhu, wieder einen DP-User vertrieben. Somit führe ich die Highscore-Liste mit 325 Vertriebenen an. /Ironie off |
Re: sortier verfahren
[OT]
Ich hab nur einen bisher. :cry: Aber auf den bin ich stolz. :mrgreen: [/OT] |
Re: sortier verfahren
Zitat:
Das war ja auch ironisch gemeint. Natürlich ist es nicht mein Ziel, irgenwelche User zu vertreiben. Passieren kann das aber schon mal... Die "Highscore-Liste" gibt es ja auch nicht, oder? |
Re: sortier verfahren
[OT]
Yo, war auch nur ironisch von mir. Aber wie soll man anders mit solchen "Kandidaten" umgehen, die so'n Hang zur übertriebenen Unselbständigkeit haben ... ;) [/OT] |
Re: sortier verfahren
Na hobs selber kmocht abschreiben bracuh i a net
|
Re: sortier verfahren
Falls es dir noch helfen sollte, kannst du mal einen Blick auf mein (vorerst auf Eis gelegtes)
![]() |
Re: sortier verfahren
Danke habe das proplem aber shcon gelöst und bin jetzt fert5ig
|
Re: sortier verfahren
Hi,
vielleicht postest Du noch die Lösung zu dem Problem. Die Lösung gibt es zwar schon zu Hauf, aber falls jemand den Thread hier findet, dann hat er auch gleich die Lösung dazu ;) |
Re: sortier verfahren
Ok mache ich muss ihn erst eintipen haben ihn nur auf nen zettel
|
Re: sortier verfahren
Hier ist der vollständige Quellcode
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Memo1: TMemo; Memo2: TMemo; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; f:array [1..2000] of integer; // beliebige zahl bis zu 4500 z:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var b:array [1..2000] of integer; ende,maxind,i,hilfs: integer; // natürlich die namen auch beliebig begin memo2.clear; for i:= 1 to z do b[i]:= f[i]; ende:=z; repeat maxind:=1; for i:= 2 to ende do if b[i]>b[maxind] then maxind := i; hilfs:= b[maxind]; b[maxind] := b[ende];b[ende]:= hilfs; dec(ende) until ende =1; for i:=1 to z do memo2.lines.add (inttostr(b[i])); end; procedure TForm1.Button2Click(Sender: TObject); var i:integer; begin memo1.clear; memo2.clear; randomize; z:= strtoint (edit1.Text); for i:= 1 to z do begin f[i] := random (100000); memo1.lines.Add(inttostr(f[i])); end; end; procedure TForm1.FormCreate(Sender: TObject); begin memo1.clear; memo2.Clear; edit1.clear; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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