Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   arrays Probleme (https://www.delphipraxis.net/93409-arrays-probleme.html)

dezreena 5. Jun 2007 15:13


arrays Probleme
 
hallo Delphi Kolleginen.. Ich bin Anfänger in Delphi.

Ich habe Probleme, um dieser programm zu verstehen.

Delphi-Quellcode:
Anzahl:= 10;  
for i:= 1 to Anzahl do  
    Einfallzeitpkt[i]:=....................
end;  

 

 

 
function minZeitpkt(Zeitpunkt:array of Real; Anzahl:Byte):Ereignis;  
var k,i:word;  
    Min:Real;  
begin  
if Anzahl > 0 then  
 begin  
 k:=1;  
 Min:=Zeitpunkt[0];  
 for i:=1 to Anzahl-1 do  
     if Min > Zeitpunkt[i] then  
     begin  
     Min:= Zeitpunkt[i];  
     k:= i+1;  
     end;  
 Result.Zeitpunkt:=Min;  
 Result.Nr:=k;  
 end  
else Result.Zeitpunkt:=Infinit;  
end;
meine Probleme sind:

Ich habe von 1 bis Anzahl initialisiert.
Wieso für Zeitpunkt[0] gibt es eine Werte?
Warum an Zeitpunkt[0] , k= 1 ?
Was ist k eigentlich? Ist das die Stelle im Array an dem minimalen Wert steht? oder irgendwas anders?

Flax 5. Jun 2007 15:19

Re: arrays Probleme
 
Die Typendeklaration von "Ereignis" fehlt!

Es scheint so, als wenn "k" den Record ausgibt, der gesucht wird. Wenn ein Objekt gefunden wurde, wird es an die Funktion übergeben.

Nikolas 5. Jun 2007 15:21

Re: arrays Probleme
 
Willkommen in der DP :dp:

Hast du den Code selbst geschrieben, oder von jemandem abgeschrieben?

Zitat:

Wieso für Zeitpunkt[0] gibt es eine Werte?
Weil Arrays nicht von 1 an zählen, sondern von Null an. (Deswegen geht die schleife auch nur bis Anzahl-1). Informatiker zählen einfach von Null los.

Zitat:

Warum an Zeitpunkt[0] , k= 1 ?
Das ist einfach die Konsequenz aus der ersten Frage. Später kannst du dann sagen, dass der minimale Wert der Wert war, den du an k.ter Stelle eingetragen hast.
Ist also der erste eingetragene Wert der kleinste, steht er im array an Stelle Null und das Programm wird nachher k=1 ausgeben.


Zitat:

Was ist k eigentlich? Ist das die Stelle im Array an dem minimalen Wert steht? oder irgendwas anders?
Fast. Wenn du die ersten beiden Antworten verstehst, kennst du auch die Antwort auf diese Frage.

Schau dir auch mal die Funktion length oder high an. Dann wirst du sehen, dass high(Zeitpunkt)=Anzahl

dezreena 5. Jun 2007 15:58

Re: arrays Probleme
 
danke schön!! :dancer2: meine Problem ist gelöst!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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