Дана матрица. среди строк этой матрицы содержащих все нечётные эл-ты, найти строку с максимальной суммой модулей нечётных эл-ов.

program m3;
const
n = 10; // размерность матрицы 10х5
m = 5;
var
matr : array[1..n, 1..m] of integer; // матрица
summ : array[1..n] of integer; // суммы строк
i, j : integer; // счетчики
k, r : integer;
max : integer;
begin
randomize;
writeln('Матрица с указанием сумм строк неч. эл-ов.');
for i := 1 to n do
begin
summ[i] := 0; r := 0;
for j := 1 to m do
begin
matr[i, j] := random(100); // заполняем матрицу случ. числами от 0 до 100
write(matr[i, j], ' '); // выводим
if (matr[i, j] mod 2) <> 0 then   // если число нечетное
begin
inc(r);
summ[i] := summ[i] + abs(matr[i, j]); // считаем сумму строки
end;
end;
{отображаем сумму строки нечетных чисел если все числа в строке неч.}
if r = m then
writeln(' => ',summ[i])
else
begin
summ[i] := 0;
writeln('есть хоть одно четное число.');
end;
end;
writeln;
max := summ[1]; r := 1;
for i := 2 to n do
if summ[i] > max then {ищем макс. эл-т и запоминаем его номер}
begin
max := summ[i];
r := i;
end;
if max = 0 then writeln('Нет строк состоящих только из нечётных чисел.')
else
writeln('Максимальная сумма нечетных чисел = ', max, ' в строке № ', r);
readln;
end.
 

скачать решение.

Дана матрица. среди строк этой матрицы, найти строку с максимальной суммой модулей нечётных эл-ов.

 

program m2;
const
n = 10; // размерность матрицы 10х5
m = 5;
var
matr : array[1..n, 1..m] of integer; // матрица
summ : array[1..n] of integer; // суммы строк
i, j : integer; // счетчики
k, r : integer;
max : integer;
begin
randomize;
writeln('Матрица с указанием сумм строк неч. эл-ов.');
for i := 1 to n do
begin
summ[i] := 0;
for j := 1 to m do
begin
matr[i, j] := random(100); // заполняем матрицу случ. числами от 0 до 100
write(matr[i, j], ' '); // выводим
if (matr[i, j] mod 2) <> 0 then
summ[i] := summ[i] + abs(matr[i, j]); // считаем сумму строки
end;
{отображаем сумму строки нечетных чисел}
writeln(' => ',summ[i]);
end;
writeln;
max := summ[1]; r := 1;
for i := 2 to n do
if summ[i] > max then {ищем макс. эл-т и запоминаем его номер}
begin
max := summ[i];
r := i;
end;
writeln('Максимальная сумма нечетных чисел = ', max, ' в строке № ', r);
readln;
end.

Скачать решение.

Hosted by uCoz