Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 14.01.10 10:46 
Hi, Delpher,

ich habe dynamische Arrays of Integer namens Stu_Bez und Stu_Bez_Anz;
Zurzeit bestehen sie aus 6 Elementen.

Durch den Inhalt von Stu_Bez bestimme ich die Vorgängerzahl von k, wenn also k = 7 ist, brauche ich zur Weiterverarbeitung das 6. Element von Stu_Bez, bzw. Stu_Bez_Anz

Ich gehe also mit nr durch das Array, aber wie breche ich die Schleife ab (wenn ich also alle Elemente geprüft habe)?

Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
k := 7;  // irgeneine Zahl von 2 bis 7
nr := 0;
repeat
  if Stu_Bez[nr] = k-1 then
    nachfolger := nachfolger + Stu_Bez_Anz[nr]
  else
    inc(nr);
until nr >          // keine Ahnung


Danke für Hilfe,
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 14.01.10 10:54 
Vielleicht so?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
k := 7;  // irgeneine Zahl von 2 bis 7
nr := 0;
while Stu_Bez[nr] <> k-1 do
  inc(nr);
nachfolger := nachfolger + Stu_Bez_Anz[nr];


Eine Prüfung, dass du nicht über das Ende des Array gehst, wäre vielleicht auch noch sinnvoll. Und natürlich eine Anfangsprüfung, ob das Array überhaupt ein Element besitzt.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 14.01.10 11:06 
Super, Peter,
vielen Dank für diese cooole Lösung :))
Detlef

_________________
ut vires desint, tamen est laudanda voluntas
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 14.01.10 11:11 
Du kannst auch mit high und low abfragen, wo die obere bzw. untere Grenze des Arrays liegt (siehe Hilfe).

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 14.01.10 11:52 
Danke auch an dich, Jens!
Gruß, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 14.01.10 13:49 
user profile iconNersgatt hat folgendes geschrieben Zum zitierten Posting springen:
Du kannst auch mit high und low abfragen, wo die obere bzw. untere Grenze des Arrays liegt (siehe Hilfe).

War auch mein erster Gedanke.
Allerdings werden ja nicht "k" und "nr" miteinander verglichen, sondern "k" mit Inhalt des Arrays mit dem Index "nr". Deswegen habe ich von dem Vorschlag abgesehen.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Fr 15.01.10 11:00 
Hallo, Peter,
ich habe es so gemacht, wie du vorgeschlagen hast.
Danke, Detlef

_________________
ut vires desint, tamen est laudanda voluntas