Оно и так работает. Или нужен не рандомный, а ручной ввод значений в элементы матрицы? - тогда вот, для этого, что нужно заменить
Код:
procedure zap(var x:massiv; n: integer);
var
i: integer;
begin
for i := 1 to n do
begin
write('x[' + IntToStr(i) + '] = ');
readln(x[i]);
end;
end;