Консультация № 198979
28.06.2020, 10:14
0.00 руб.
0 3 1
Здравствуйте! У меня возникли сложности с таким вопросом:

Определить как соотносятся( больше меньше или равно) суммы отрицательных, не лежащих на главной диагонали элементов двух матриц.Если суммы равны,найти разность минимальных элементов матриц( программка нужна в паскале)

Обсуждение

давно
Профессор
401888
1232
28.06.2020, 10:28
общий
28.06.2020, 10:29
Адресаты:
программка нужна в паскале

Напишите в каком именно Паскале, например Турбо Паскаль, Free Pascal, просто АВС, АВС.net. А может и Лазарус.
давно
Посетитель
404160
1
28.06.2020, 10:43
общий
Адресаты:
Паскаль ABC.net
давно
Профессор
401888
1232
28.06.2020, 10:58
общий
это ответ
Здравствуйте, daratolkushkina29!
[code lang=pascal]type mtr=array[,] of integer;
procedure vvod(var a:mtr;var n:integer;s:string);
begin
writeln(s);
repeat
write('Введите размер матрицы от 2 до 10 n=');
readln(n);
until n in [2..10];
setlength(a,n,n);
writeln('Введите элементы матрицы, целые положительные и отрицательные числа');
for var i:=0 to n-1 do
for var j:=0 to n-1 do
begin
write('a[',i+1,',',j+1,']=');
readln(a[i,j]);
end;
end;
procedure vyvod(a:mtr;n:integer;s:string);
begin
writeln(s);
for var i:=0 to n-1 do
begin
for var j:=0 to n-1 do
write(a[i,j]:4);
writeln;
end;
end;
function summa(a:mtr;n:integer):integer;
var s:integer;
begin
s:=0;
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if(j<>i)and(a[i,j]<0)then s:=s+a[i,j];
summa:=s;
end;
function min(a:mtr;n:integer):integer;
var m:integer;
begin
m:=a[0,0];
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if a[i,j]<m then m:=a[i,j];
min:=m;
end;
var a,b:mtr;
m,n,sa,sb,ma,mb:integer;
begin
vvod(a,m,'Матрица А');
vvod(b,n,'Матрица В');
vyvod(a,m,'Матрица А');
sa:=summa(a,m);
writeln('Сумма отрицательных не на главной диагонали=',sa);
vyvod(b,n,'Матрица B');
sb:=summa(b,n);
writeln('Сумма отрицательных не на главной диагонали=',sb);
if sa>sb then write('Сумма в матрице А больше')
else if sb>sa then write('Сумма в матрице B больше')
else
begin
writeln('Суммы в матрицах равны');
ma:=min(a,m);
writeln('Минимальный в матрице А=',ma);
mb:=min(b,n);
writeln('Минимальный в матрице B=',mb);
writeln('Их разность=',abs(ma-mb));
end;
end.
[/code]
Форма ответа