Другие языки программирования и технологии

При введении программы на Pascal ABC выдается ошибка "нельзя вводить данные типа "массив", массивы вводятся поэлементно

в цикле" В чем ошибка? Цель программы: вывести из документа *.txt в массив последовательно числа из файла, расположенные след. образом:
11 21
53 42
67 73
87 93
25 53

Сама программа:
program ReadMatrix;
const
M=5; N=2;
var
Fil: text;
x,y: array [1..M,1..N] of real;
S: char;
I,J: integer;
begin
assign (Fil, 'matrix.txt');
reset(Fil);
for I:=1 to M do
begin
for J:=1 to N do
begin
read (Fil,x,s,y);
write (x,s,y);
end;
writeln;
readln(Fil)
end;
close(Fil);
{readln; }
end.

Если есть другие варианты записи программы - буду очень признательна! Спасибо!
Два массива совсем ни к чему.

program ReadMatrix;
const M=5; N=2;
var Fil:text; x:array[1..M,1..N]of real; I,J:integer;
begin
assign(Fil,'matrix.txt'); reset(Fil);
for I:=1 to M do for J:=1 to N do read(Fil,x[ i,j]);
for I:=1 to M do for J:=1 to N do write(x[ i,j]:4);
close(Fil); readln
end.

Если хочешь, чтобы на экран массив выводился в виде матрицы замени вывод на
for I:=1 to M do begin for J:=1 to N do write(x[ i,j]:4); writeln end;
МТ
Максим Тархов
52 311
Лучший ответ
x,y: array [1..M,1..N] of real;

У вас же
read (Fil,x,s,y);
Нельзя сразу ввести весь длинный массив, а только поэлементно x[ I, J ]
Вывод массива Паскаля

Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.
Пример фрагмента программы вывода массива Паскаля
Var
A: array [1..10] of integer;
I : byte ; {переменная I вводится как индекс массива}
Begin
For i :=1 to 10 do
Write ( a [ i ],’ ‘); {вывод массива осуществляется в строку, после каждого элемента печатается пробел}

Вывод можно осуществить и в столбик с указанием соответствующего индекса. Но в таком случае нужно учитывать, что при большой размерности массива все элементы могут не поместиться на экране и будет происходить скроллинг, т. е. при заполнении всех строк экрана будет печататься очередной элемент, а верхний смещаться за пределы экрана.
Пример программы вывода массива Паскаля в столбик
Var
A: array [1..10] of integer;
I : byte ; {переменная I вводится как индекс массива}
Begin
For i:=1 to 10 do
Writeln (‘a[‘, i,’]=’, a); { вывод элементов массива в столбик }

На экране мы увидим, к примеру, следующие значения:
a [1]=2
a [2]=4
a [3]=1 и т. д.
ZM
Zaur Mahmudov
19 306