75 lines
1.1 KiB
Plaintext
75 lines
1.1 KiB
Plaintext
module Main;
|
|
import
|
|
System.Collections.ArrayList as Array,
|
|
System.Console as Console;
|
|
|
|
type
|
|
Vector = array {math} * of integer;
|
|
|
|
procedure Concat(x,y: Vector): Vector;
|
|
var
|
|
i,k: integer;
|
|
res: Vector;
|
|
begin
|
|
res := new Vector(len(x) + len(y));
|
|
k := 0;
|
|
for i := 0 to len(x) - 1 do
|
|
res[k] := x[i];inc(k)
|
|
end;
|
|
for i := 0 to len(y) - 1 do
|
|
res[k] := y[i];inc(k)
|
|
end;
|
|
return res
|
|
end Concat;
|
|
|
|
procedure Concat2(x,y: Array): Array;
|
|
var
|
|
i: integer;
|
|
res: Array;
|
|
begin
|
|
res := new Array(x.Count + y.Count);
|
|
for i := 0 to x.Count - 1 do
|
|
res.Add(x[i]);
|
|
end;
|
|
for i := 0 to y.Count - 1 do
|
|
res.Add(y[i]);
|
|
end;
|
|
return res
|
|
end Concat2;
|
|
|
|
procedure WriteVec(x: Vector);
|
|
var
|
|
i: integer;
|
|
begin
|
|
for i := 0 to len(x) - 1 do;
|
|
write(x[i]:3)
|
|
end;
|
|
writeln;
|
|
end WriteVec;
|
|
|
|
procedure WriteAry(x: Array);
|
|
var
|
|
i: integer;
|
|
begin
|
|
for i := 0 to x.Count - 1 do;
|
|
Console.Write("{0,3}",x[i])
|
|
end;
|
|
writeln;
|
|
end WriteAry;
|
|
|
|
var
|
|
a,b: Vector;
|
|
x,y: Array;
|
|
begin
|
|
a := [1,2,3,4];
|
|
b := [6,7,8,9];
|
|
WriteVec(Concat(a,b));
|
|
|
|
x := new Array(4);
|
|
y := new Array(4);
|
|
x.Add(2);x.Add(4);x.Add(6);x.Add(8);
|
|
y.Add(3);y.Add(5);y.Add(9);y.Add(11);
|
|
|
|
WriteAry(Concat2(x,y));
|
|
end Main.
|