Autor Beitrag
dkx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mo 26.05.03 17:58 
Hallo,

da ich in der Schule Delphi lerne, stehe ich nun vor einer Klausur.
Es geht hierbei um (für euch) extrem leichte Dinge.
An einer dieser "leichten" Sachen hänge ich nun aber schon die ganze Zeit fest und kann mich nicht mehr erinnern wie ich es lösen kann:

Ein Array ist mit Zahlen gefüllt, nun möchte ich herausfinden, welche Zahl die größte/kleinste ist. Das kann doch nicht so schwer sein...

Also helft mir bitte schnell! Vielen Dank.
Anton

Moderiert von user profile iconTino: Titel geändert.
GruppeCN
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: Mo 26.05.03 18:03 
Ein Integer Array???

Ich denke, dass es so eine Funktion gibt, kenne sie aber nicht.

Wie wäre es mit einer Schleife, die den ganzen Array durchläuft?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
    for i:=0 to 10 do begin
      if (zahlen[i] > zahl) then begin
        zahl := zahlen[i];
      end;
    end;
    Edit1.Text := Inttostr(zahl);
end;


Das Beispiel wurde mit einem Array mit 11 Integer werten gemacht.

// Edit Code hinzugefügt

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.


Zuletzt bearbeitet von GruppeCN am Mo 26.05.03 18:09, insgesamt 2-mal bearbeitet
dkx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mo 26.05.03 18:08 
ja genau, ein integer array.

und mit einer for-schleife hatte ich das in erinnerung - an recht viel mehr kann ich mich dann auch nicht erinnern.
Irgendwie wurde in der Schleife dann der Wert mit dem nächst größeren verglichen glaube ich.
Aber das bekomme ich jetzt nicht mehr hin :(
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mo 26.05.03 18:14 
Eine Funktion kenne ich nicht, aber die macht man sich selbst:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  num: Integer;
begin
  num := 0;
  for i := low(arrayto high(arraydo
    if array[i] > num then
      num := array[i];
end;

Ist jetzt ungetestet und aus'm Stehgreif, aber so in etwa sollte das klappen. In der Variable num ist dann am Ende der höchste Wert im Array.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
dkx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Mo 26.05.03 18:30 
ok, vielen Dank für die schnelle Hilfe !
Das war genau das was ich gesucht habe!
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Di 27.05.03 02:19 
Hallo Leute!

So wie hier zweimal prinzipiell gleich gepostet kann das nicht funzen!

Es wird ein Integer-Array verwendet - und da können auch negative Werte drin sein!!!

Mein Lösungsvorschlag:
die Ergebnisvariable mit dem 1. Arraywert vorbelegen (nicht 0) und dann vom 2. bis letzten Element vergleichen!

Gruß

Dietmar Brüggendiek
MKehrer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

NT, 2000
D6
BeitragVerfasst: Di 27.05.03 07:50 
wie wärs den mit fun MaxIntValue definiert in der Unit Math?

Trotzdem ist es besser wenn man sich alles erst mal selbst aus den Fingern saugt. So erkennt man oft erst, welche Probleme dahinterstecken.

_________________
Manfred
Was Du siehst ist in Dir (Smile)