Другие языки программирования и технологии

Пoмoгите пожалуйста на Паскале

Vlad Bulavko
Vlad Bulavko
14
Размерность матрицы какая? Может меняться? Как задавать? Какой максимум? Как заполнять матрицу?
Зинур Файзуллин
Зинур Файзуллин
25 006
Лучший ответ
Vlad Bulavko Честно я не знаю. Вот все задание на фото, больше ничего нет. Можно в принципе 3Х3 матрицу или 2Х2
Program MatriX;
uses crt;
const k=5;
n=5;
type matrica=array [1..k, 1..n] of integer;
var i, j, min, sum, s1, s2, s3, s4, s5, s6: integer;
m: matrica;
begin
clrscr;
for i:=1 to k do begin
for j:=1 to n do begin
m[i,j]:=random (21)-10;
end;
end;
writeln ('Была сгенерирована матрица:');
for i:=1 to k do begin
for j:=1 to n do begin
write (m[i,j]:4);
end;
writeln (' ');
end;

{1)}

if (m[1,1]>=0) and (m[2,1]>=0) and (m[3,1]>=0) and (m[4,1]>=0) and (m[5,1]>=0) then sum:=sum+m[1,1]+m[2,1]+m[3,1]+m[4,1]+m[5,1];
if (m[1,2]>=0) and (m[2,2]>=0) and (m[3,2]>=0) and (m[4,2]>=0) and (m[5,2]>=0) then sum:=sum+m[1,2]+m[2,2]+m[3,2]+m[4,2]+m[5,2];
if (m[1,3]>=0) and (m[2,3]>=0) and (m[3,3]>=0) and (m[4,3]>=0) and (m[5,3]>=0) then sum:=sum+m[1,3]+m[2,3]+m[3,3]+m[4,3]+m[5,3];
if (m[1,4]>=0) and (m[2,4]>=0) and (m[3,4]>=0) and (m[4,4]>=0) and (m[5,4]>=0) then sum:=sum+m[1,4]+m[2,4]+m[3,4]+m[4,4]+m[5,4];
if (m[1,5]>=0) and (m[2,5]>=0) and (m[3,5]>=0) and (m[4,5]>=0) and (m[5,5]>=0) then sum:=sum+m[1,5]+m[2,5]+m[3,5]+m[4,5]+m[5,5];
if sum<>0 then writeln ('Сумма элементов в столбцах, не содержащих отрицательные элементы, составляет: ', sum) else writeln ('Нет столбцов без отрицательных элементов.');

{2)}

min:=50;
s1:=abs (m[2,1])+abs (m[1,2]);
s2:=abs (m[3,1])+abs (m[2,2])+abs (m[1,3]);
s3:=abs (m[4,1])+abs (m[3,2])+abs (m[2,3])+abs (m[1,4]);
s4:=abs (m[5,2])+abs (m[4,3])+abs (m[3,4])+abs (m[2,5]);
s5:=abs (m[5,3])+abs (m[4,4])+abs (m[3,5]);
s6:=abs (m[5,4])+abs (m[4,5]);
if abs (m[1,1])<min then min:=abs (m[1,1]);
if s1<min then min:=s1;
if s2<min then min:=s2;
if s3<min then min:=s3;
if s4<min then min:=s4;
if s5<min then min:=s5;
if s6<min then min:=s6;
if abs (m[5,5])<min then min:=abs (m[5,5]);
writeln ('Минимум среди сумм модулей диагоналей, параллельных побочной диагонали матрицы составляет: ', min);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.