Если принципиально использование массива, то тогда вот
Код:
...
// Memo1: TMemo;
// Button1: TButton;
// Edit1: TEdit;
...
procedure TForm1.Button1Click(Sender: TObject);
var
i, cnt: integer;
arr: array of string; //integer;
s: string;
begin
// Edit1.Text:= '1 2 3 4 5 6';
cnt:= 0;
// кол-во чисел в строке
for i := 1 to Length(Edit1.Text) do
if Edit1.Text[i] = ' ' then Inc(cnt);
// инициализация массива
SetLength(arr, cnt+1);
s:= '';
cnt:= 0;
// заполнение массива
for i:= 1 to Length(Edit1.Text) do
begin
if Edit1.Text[i] <> ' ' then s:= s + Edit1.Text[i];
if (Edit1.Text[i] = ' ') or (i = Length(Edit1.Text)) then
begin
arr[cnt]:= s; //StrToInt(s);
s:= '';
Inc(cnt);
end;
end; {for i}
// определяем кол-во строк в Memo1
cnt:= Length(arr) div 2;
if Length(arr) mod 2 > 0 then Inc(cnt); // не четный ряд
Memo1.Clear;
// и собсно сам лисапет с заполнением Memo
for i := 0 to cnt-1 do
begin
// элемент первого столбца
s:= '| ' + arr[i];//IntToStr(arr[i]);
// элемент колонки 2
if i * 2 < Length(arr)-1 then
s:= s + ' | ' + arr[cnt+i] //IntToStr(arr[i])
else
s:= s + ' | '; // пустышка на случай нечётного размера
Memo1.Lines.Add(s);
end; {for i}
end;