Jump to content

Array concatenation: Difference between revisions

Added XPL0 example.
(Added XPL0 example.)
Line 4,517:
{{Out}}
<pre>[1, 2, 3, 4, 5, 6]</pre>
 
=={{header|XPL0}}==
{{trans|C}}
A way to concatenate two XPL0 arrays when you know their size (and usually it is so).
Works on Raspberry Pi. MAlloc works differently in other versions.
<syntaxhighlight lang "XPL0">func Array_concat(A, AN, B, BN, S);
int A, AN, B, BN, S;
int P;
[
P:= MAlloc(S * (AN + BN));
CopyMem(P, A, AN*S);
CopyMem(P + AN*S, B, BN*S);
return P;
];
 
\ testing
int A, B, C, I, SizeOf;
[
A:= [ 1, 2, 3, 4, 5 ];
B:= [ 6, 7, 8, 9, 0 ];
 
SizeOf:= @B - @A;
 
C:= Array_concat(A, 5, B, 5, SizeOf);
 
for I:= 0 to 10-1 do
[IntOut(0, C(I)); ChOut(0, ^ )];
 
Release(C);
]</syntaxhighlight>
{{out}}
<pre>
1 2 3 4 5 6 7 8 9 0 </pre>
 
=={{header|Yabasic}}==
298

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.