Array in mehrdiomensionales Array kopieren

Curby

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo Leute,

ich bin neu in der Welt von CodeSys und bevor ich lange probiere und mir einen Wolf suche, stelle ich meine Frage direkt hier.

Ich habe zwei Array, eines zweidimensional und eines eindimensional:

arr1 : array[0..9, 0..9] OF BOOL;
arr2 : array[0..9] OF BOOL;

Besteht die Möglichkeit, array "arr2" an eine Position von "arr1" 0-9 zu kopieren?

Vielen dank für eure Hilfe!

mfg
Jens
 
Zuletzt bearbeitet:
Code:
FOR i := 0 TO 9 DO
   arr1[0 , i] := arr2[i];
END_FOR;

Ja nachdem in welches Element arr2 hinein soll, kannst du auch arr1[1, i] oder arr1[i, 5] u.s.w. schreiben, das mußt du halt festlegen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, das wäre auch meine selbst geschriebene Lösung geworden. Ich hab gehofft, dass es noch etwas einfacher gehen würde. Ist da etwas mit Pointern möglich, dass ich auf arr1[x][0] zeige und dort arr2 hinkopiere?
 
Wenn man das zweidimensionale Array so deklariert:

arr1 : array[0..9] of array[0..9] of Bool;

dann funktioniert eine Zuweisung wie

arr1[4] := arr2;

Die Schreibweise für den Zugriff auf einzelne Elemente von arr1 ändert sich allerdings:

Statt z. B. arr1[7,8] muss man arr1[7][8] schreiben.
 
Ok, das wäre auch meine selbst geschriebene Lösung geworden. Ich hab gehofft, dass es noch etwas einfacher gehen würde. Ist da etwas mit Pointern möglich, dass ich auf arr1[x][0] zeige und dort arr2 hinkopiere?

Was soll denn einfacher als ein Dreizeiler sein? O.k. ein Einzeiler ;)
 
Zuletzt bearbeitet:
Zurück
Oben