Заданы матрица порядка n и число k. разделить элементы k-й строки на диагональный элемент, расположенный в этой строке. исходную и полученную матрицы вывести на экран.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var k:=ReadInteger('Введите 1<k<=n:'); if (k>n) or (k<1) then exit; 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.
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<k<=n: '); Read(k); if (k>n) or (k<1) then exit; 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.
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var k:=ReadInteger('Введите 1<k<=n:');
if (k>n) or (k<1) then exit;
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<k<=n: 2
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<k<=n: '); Read(k);
if (k>n) or (k<1) then exit;
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.