
Найти сумму положительных элементов чётных строк матрицы и произведение отрицательных элементов
нечётных строк. Программа на Pascal.

Ответы на вопрос

// Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (s,p):=(0,BigInteger(1));
for var i:=0 to m-1 do
if i.IsEven then
p*=a.Row(i).Where(t->t<0).Aggregate(BigInteger(1),(x,y)->x*y)
else
s+=a.Row(i).Where(t->t>0).Sum;
Writeln('S = ',s,', П = ',p)
end.




Конечно, вот пример программы на Pascal, которая выполняет задачу по поиску суммы положительных элементов четных строк матрицы и произведения отрицательных элементов нечетных строк:
```pascal program MatrixOperations;
const N = 3; // Размерность матрицы M = 4;
var matrix: array[1..N, 1..M] of Integer; i, j: Integer; sumEvenPositive: Integer; // Сумма положительных элементов четных строк productOddNegative: Integer; // Произведение отрицательных элементов нечетных строк
begin // Инициализация матрицы (можете ввести значения сами или сгенерировать случайные) // Пример инициализации: { matrix[1, 1] := 2; matrix[1, 2] := -3; matrix[1, 3] := 4; matrix[1, 4] := -5; matrix[2, 1] := -1; matrix[2, 2] := 6; matrix[2, 3] := -7; matrix[2, 4] := 8; matrix[3, 1] := 9; matrix[3, 2] := -10; matrix[3, 3] := 11; matrix[3, 4] := -12; } // Заполнение матрицы значениями for i := 1 to N do for j := 1 to M do begin // Например, ввод значений с клавиатуры: writeln('Введите значение для элемента [', i, ',', j, ']: '); readln(matrix[i, j]); end;
// Инициализация суммы и произведения sumEvenPositive := 0; productOddNegative := 1;
// Поиск суммы положительных элементов четных строк и произведения отрицательных элементов нечетных строк for i := 1 to N do begin if (i mod 2 = 0) then // Если строка четная begin for j := 1 to M do begin if matrix[i, j] > 0 then sumEvenPositive := sumEvenPositive + matrix[i, j]; // Суммируем положительные элементы end; end else // Если строка нечетная begin for j := 1 to M do begin if matrix[i, j] < 0 then productOddNegative := productOddNegative * matrix[i, j]; // Умножаем отрицательные элементы end; end; end;
// Вывод результатов writeln('Сумма положительных элементов четных строк: ', sumEvenPositive); writeln('Произведение отрицательных элементов нечетных строк: ', productOddNegative);
end. ```
Эта программа создает матрицу с размерами 3x4 (можно изменить значение констант N и M в соответствии с вашими требованиями), заполняет ее значениями и затем выполняет операции по поиску суммы положительных элементов четных строк и произведения отрицательных элементов нечетных строк.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili