Ich habe 45 Werte in einem Array gespeichert, sample
. Es muss in drei einzelne Arrays der Größe 15, sample1
, sample2
und sample3
aufgeteilt werden: die ersten 15 Elemente in sample1
, die nächsten 15 in sample2
und die restlichen 15 in sample3
. Ich habe versucht, dass mit diesem Code zu tun:Ein Array in 3 einzelne Arrays teilen
var
sample: array of integer; // Source Array which contains data
sample1, sample2, sample3: array of integer; //Target arrays which needs to be worked upon
i: integer;
begin
SetLength(sample1, 15);
SetLength(sample2, 15);
SetLength(sample3, 15);
for i := 0 to 14 do
sample[i] := sample1[i];
for i:= 15 to 29 do
sample[i] := sample2[i];
for i:= 30 to 44 do
sample[i] := sample3[i];
i := i + 1;
Ich bin in der Lage, die Ergebnisse in der ersten Reihe zu bekommen, aber nicht in dem anderen Arrays. Was mache ich falsch?
Sie müssen den Index des Quell-Arrays versetzen. * z. B. *, '...: = sample2 [i-15]'. Andernfalls indizieren Sie es falsch (von 15 bis 29). – lurker
Ich habe die Indexierung vor, aber immer noch funktioniert es nicht – delsql
Ihr Code wie gezeigt hat andere Probleme, oder zumindest unvollständig. So wie die Länge von 'sample' nicht eingestellt wird, und es gibt keine Schleife. Bitte zeigen Sie den aktuellen Code an, den Sie zuletzt ohne Fragmentierung versucht haben. – lurker