Предмет: Информатика,
автор: vsokolov022
Прошу помогите(
Дана действительная квадратная матрица порядка А(n*n).Определить что больше:сумма элементов, находящихся ПОД главной диагональю, или сумма элементов, находящихся НАД главной диагональю.
Kазак:
как дана матрица и в чём программа нужна?
Ответы
Автор ответа:
1
самое простое решение program znanijatop;
const n = 100;
var
k,i,j:byte;
s1,s2:real;
a:array[1..n,1..n] of real;
begin
writeln('vvedite poryadok matrice');
readln(k);
s1:=0;s2:=0;for i:=1 to k do begin
for j:=1 to k do begin
writeln('vvedite a[',i,',',j,']');
readln(a[i,j]);
end;
end;
for i:=1 to k do begin
for j:=1 to k do begin
if i<j then s1:=s1+a[i,j];
if i>j then s2:=s2+a[i,j];
end;
end;
if s1 > s2 then writeln('nad glavnoy diagonali summa bolshe');
if s1 < s2 then writeln('pod glavnoy diagonali summa bolshe');
if s1 = s2 then writeln('ravni');
end.
const n = 100;
var
k,i,j:byte;
s1,s2:real;
a:array[1..n,1..n] of real;
begin
writeln('vvedite poryadok matrice');
readln(k);
s1:=0;s2:=0;for i:=1 to k do begin
for j:=1 to k do begin
writeln('vvedite a[',i,',',j,']');
readln(a[i,j]);
end;
end;
for i:=1 to k do begin
for j:=1 to k do begin
if i<j then s1:=s1+a[i,j];
if i>j then s2:=s2+a[i,j];
end;
end;
if s1 > s2 then writeln('nad glavnoy diagonali summa bolshe');
if s1 < s2 then writeln('pod glavnoy diagonali summa bolshe');
if s1 = s2 then writeln('ravni');
end.
Автор ответа:
1
PascalABC.NET 3.4, сборка 1670 от 23.05.2018
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (su,sl):=(0,0);
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if i<j then su+=a[i,j]
else if i>j then sl+=a[i,j];
var sgn:=Sign(su-sl);
case sgn of
-1:Writeln('Сумма элементов над диагональю меньше');
0:Writeln('Суммы элементов над и под диагональю равны');
1:Writeln('Сумма элементов над диагональю больше')
end
end.
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (su,sl):=(0,0);
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if i<j then su+=a[i,j]
else if i>j then sl+=a[i,j];
var sgn:=Sign(su-sl);
case sgn of
-1:Writeln('Сумма элементов над диагональю меньше');
0:Writeln('Суммы элементов над и под диагональю равны');
1:Writeln('Сумма элементов над диагональю больше')
end
end.
Приложения:
Похожие вопросы
Предмет: Алгебра,
автор: marinalipay777
Предмет: Математика,
автор: nadiab57
Предмет: История,
автор: markerik
Предмет: Алгебра,
автор: sevostyanovadar
Предмет: Обществознание,
автор: Sergeypatsiora