
Дана матрица А[1:4; 1:4] а) получить сумму и количество четных элементов в интервале [-10 +5]. б)
сформировать вектор из сумм элементов матрицы по столбцам в) получить среднеарифметическое значение положительных элементов матрицы. г) получить произведение и сумму элементов в третьем столбце.

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

// Внимание! Если программа не работает, обновите версию!
begin
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(4,4,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.ElementsByRow.Where(t->t.Between(-10,5) and t.IsEven);
Writeln('На интервале [-10;5] четных элементов ',s.Count,
', их сумма равна ',s.Sum);
var vc:=a.Cols.Select(t->t.Sum);
Write('Вектор сумм по столбцам: '); vc.Println;
Writeln('Среднее арифметическое положительных равно: ',
a.ElementsByRow.Where(t->t>0).Average);
Writeln('В третьем столбце сумма элементов равна ',
a.Col(2).Sum,', произведение равно ',
a.Col(2).Aggregate(1,(p,q)->p*q))
end.
Пример
*** Исходная матрица ***
27 -87 73 -6
48 -50 75 -32
4 92 -84 85
27 4 31 -63
----------------
На интервале [-10;5] четных элементов 3, их сумма равна 2
Вектор сумм по столбцам: 106 -41 95 -16
Среднее арифметическое положительных равно: 46.6
В третьем столбце сумма элементов равна 95, произведение равно -14256900



A: array [1..4, 1..4] of integer;
B: array [1..4] of integer;
i, j, Count, CountAr: byte;
ArithMean: real;
Sum, Mult, SumThird: integer;
begin
Mult := 1;
randomize;
writeln(' *** Исходный массив ***');
for i := 1 to 4 do
begin
for j := 1 to 4 do
begin
//Случайные значение в диапазоне [-30;30]
A[i, j] := random(61)-30;
//Сумма и количество четных в диапазоне [-10..5]
if (A[i, j] mod 2 = 0) and ((A[i, j] >= -10) and (A[i, j] <= 5)) then
begin
Sum := Sum + A[i, j];
Count := Count + 1;
end;
//Количество и сумма положительных для среднего арифметического
if A[i, j] > 0 then
begin
CountAr := CountAr + 1;
ArithMean := ArithMean + A[i, j];
end;
//Произведение и сумма 3-его столбца
if j = 3 then
begin
Mult := Mult * A[i, j];
SumThird := SumThird + A[i, j];
end;
write(A[i, j]:5);
end;
writeln;
end;
writeln('Количество четных [-10..5] = ', Count);
writeln('Сумма четных [-10..5] = ', Sum);
writeln('Среднее арифметическое = ', (ArithMean/CountAr):0:2);
writeln('Произведение в 3 столбце = ', Mult);
writeln('Сумма в 3 столбце = ', SumThird);
//Получение вектора
for j := 1 to 4 do
begin
Sum := 0;
for i := 1 to 4 do
Sum := Sum + A[i, j];
B[j] := Sum;
end;
writeln('Вектор:');
for i := 1 to 4 do
writeln(B[i]:5);
end.



Для выполнения операций с матрицей А[1:4; 1:4], нам понадобится использовать язык программирования или математическое программное обеспечение, которое поддерживает операции с матрицами. Язык Python и библиотека numpy являются хорошим выбором для этой задачи. Давайте решим каждую часть задачи по очереди.
а) Чтобы получить сумму и количество четных элементов в интервале [-10, 5], нам нужно пройти по всем элементам матрицы и проверить, является ли элемент четным и попадает ли он в заданный интервал. Вот пример кода на Python, который позволяет это сделать:
```python import numpy as np
A = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
even_sum = 0 even_count = 0
for row in A: for element in row: if element % 2 == 0 and -10 <= element <= 5: even_sum += element even_count += 1
print("Сумма четных элементов в интервале [-10, 5]:", even_sum) print("Количество четных элементов в интервале [-10, 5]:", even_count) ```
б) Чтобы сформировать вектор из сумм элементов матрицы по столбцам, мы можем использовать функцию sum() из библиотеки numpy. Вот пример кода:
```python import numpy as np
A = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
column_sums = np.sum(A, axis=0)
print("Вектор сумм элементов матрицы по столбцам:") print(column_sums) ```
г) Чтобы получить среднеарифметическое значение положительных элементов матрицы, мы можем использовать функцию mean() из библиотеки numpy. Вот пример кода:
```python import numpy as np
A = np.array([[1, -2, 3, -4], [5, 6, -7, 8], [9, -10, 11, 12], [-13, 14, -15, 16]])
positive_values = A[A > 0] mean_positive = np.mean(positive_values)
print("Среднеарифметическое значение положительных элементов матрицы:", mean_positive) ```
д) Чтобы получить произведение и сумму элементов в третьем столбце, мы можем использовать функции prod() и sum() из библиотеки numpy. Вот пример кода:
```python import numpy as np
A = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
third_column = A[:, 2] column_product = np.prod(third_column) column_sum = np.sum(third_column)
print("Произведение элементов в третьем столбце:", column_product) print("Сумма элементов в третьем столбце:", column_sum) ```
Это примеры решений для задачи на языке программирования Python с использованием библиотеки numpy.


Топ вопросов за вчера в категории Информатика









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