как то так, могут быть мелкие ошибки, то что писал тут без компиляции:
Code
const N=10;
var a: array[1..N, 1..N] of integer;
i,j,k,temp,rowNum: integer;
begin
readln(rowNum); {ввод нужной строки}
randomize;
for i:=1 to N do
for j:=1 to N do
a[i,j]:=random(100);
k:=a[1,1];
for i:=1 to N do {поиск наибольшего элемента на главной диагонали}
if a[i,i]>=k then
k:=i; {запись строки}
for i:=1 to n do
begin
temp:=a[i,k];
a[i,k]:=a[i,rowNum];
a[i,rowNum]:=temp;
end;
end.