предлагаю вот как писать в входном файле:
т.к. массив 3 на 3, то можно записать его в один столбец. К примеру:
1 2 3
4 5 6
7 8 9
преобазуется в текстовый файл
1
2
3
4
5
6
7
8
9
И потом просто вычисляем из текущей строки номер строки и номер столбца матрицы. А еще есть вариант - предварительная запись при помощи написанной программы ввода в типизированный файл. А еще можно в том же текстовом файле написать матрицу, только при переводе в числовые данные будет чуть сложнее.
Code
program Curocao;
uses crt;
var
inp, out: text;
p: real;
c: real;
i, j, k: byte;
s: string;
a: array[1..3, 1..3] of real;
code: integer;
begin
clrscr;
assign(inp, 'input.txt');
assign(out, 'out.txt');
reset(inp);
for k := 1 to 9 do {zabivaem massiv iz faila}
begin
readln(inp, s);
val(s, c, code);
i := (k - 1) div 3 + 1;
j := k - (i - 1) * 3;
a[i, j] := c;
end;
p := 1; {proizvedenie i vivod}
for i := 1 to 3 do
for j := 1 to 3 do
begin
p := p * a[i, j];
gotoXY(j * 5, i);
write(a[i, j]:2:2);
end;
rewrite(out);
writeln(#10#13, 'P = ', p:3:5);
writeln(out, p:3:5);
close(inp);
close(out);
readkey;
end.