Помогите написать программу с использованием подпрограмм

Написать программу с использованием подпрограмм
Разделить каждый элемент строки матрицы А на первый элемент этой строкию Преобразованную матрицу напечатать

Как помочь? В чем проблема? Что пробовали делать? Что получилось, что не получилось?

У меня получилась такая прогграмма но в ней делится только первый элемент сам на себя а надо чтобы каждая строка делилась на первый элемент

uses crt;
const n=5;
var mas: array [1..n, 1..n] of real;
      i, j: byte;
begin
 randomize;
 clrscr; 
 writeln ('Исходный массив: ');
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     mas[i, j]:=random (19)-9;
     write (mas[i, j]:3:0);
    end;
   writeln;
  end;
 writeln;
 writeln ('Результат: ');
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     mas[i, j]:=mas[i, j]/mas[1, 1];
     write (mas[i, j]:6:2);
    end;
   writeln;
  end;
end.

зачем вы скопипастили код который не делает то что вы написали

код не делает этого.

К тому же, раз сами написали, почему не вчитались в задание:

Так делите на что-то типа mas[i, 1]

uses crt;
const n=5;
var mas: array [1..n, 1..n] of real;
    i: byte;
procedure ReadData;
var 
i,j : byte;
begin
    randomize;
    for i := 1 to n do 
        for j := 1 to n do
            mas[i, j]:=random (19)-9
end;
procedure OutData;
var 
    i,j : byte;
begin
    writeln;
    for i:=1 to n do
    begin
        for j:=1 to n do
        begin
            write(mas[i, j]:6:2)
        end;
        writeln
    end;
    writeln
end;
procedure DivideRow(row : byte);
var 
    i : byte;
begin
    for i := n downto 1 do mas[row, i] := mas[row, i] / mas[row, 1]
end;
begin
    clrscr;
    writeln ('Исходный массив: ');
    ReadData;
    OutData;
    writeln ('Результат: ');
    for i := 1 to n do DivideRow(i);
    OutData;
end.