1. Со временем и так будут учить решать...
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var k:=ReadInteger('Введите 1 if (k>n) or (k<1) then exit;<br> var a:=MatrRandomReal(n,n,1,20); a.Println(7,2);
k-=1;
var d:=a[k,k];
Writeln(n*7*'-');
for var j:=0 to n-1 do a[k,j]/=d; a.Println(7,2)
end.
Пример
n= 5
Введите 1 15.11 1.07 2.01 6.33 8.63
13.26 14.96 13.36 9.87 17.39
14.87 19.89 16.94 10.77 17.86
18.16 19.99 10.16 9.89 5.42
4.78 13.60 6.89 19.56 1.25
-----------------------------------
15.11 1.07 2.01 6.33 8.63
0.89 1.00 0.89 0.66 1.16
14.87 19.89 16.94 10.77 17.86
18.16 19.99 10.16 9.89 5.42
4.78 13.60 6.89 19.56 1.25
2. А пока в школах учат писать вот так. Хорошо видно, насколько школа отстает от современных технологий.
const
nn=20;
var
a:array[1..nn,1..nn] of real;
i,j,n,k:integer;
d:real;
begin
Write('n= '); Read(n);
Write('Введите 1 if (k>n) or (k<1) then exit;<br> randomize;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=19*random+1;
Write(a[i,j]:7:2)
end;
Writeln
end;
d:=a[k,k];
for i:=1 to 7*n do Write('-');
Writeln;
for j:=1 to n do a[k,j]:=a[k,j]/d;
for i:=1 to n do begin
for j:=1 to n do Write(a[i,j]:7:2);
Writeln
end
end.