Предмет: Информатика,
автор: crazyden4ik2694
заданы матрица порядка n и число k. разделить элементы k-й строки на диагональный элемент, расположенный в этой строке. исходную и полученную матрицы вывести на экран.
Ответы
Автор ответа:
0
1. Со временем и так будут учить решать...
// 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.
// 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.
Похожие вопросы
Предмет: Математика,
автор: vpromakss10p6xcka
Предмет: Українська мова,
автор: sashakyrychenko8
Предмет: Русский язык,
автор: rassanov
Предмет: Литература,
автор: ap6463