Тема «Матрицы», язык программирования Python. (9 класс)
Задача:
Дан двумерный массив, элементы которого заполняются произвольным образом. Вычислите сумму и произведение элементов данного массива.
Ответы на вопрос
Для вычисления суммы и произведения всех элементов двумерного массива нужно последовательно перебрать каждую строку матрицы и каждый элемент в этой строке.
Сумму сначала устанавливаем равной 0, потому что прибавление нуля не изменяет результат. Произведение устанавливаем равным 1, поскольку умножение на единицу не изменяет результат.
Пример программы, в которой матрица заполняется случайными целыми числами:
from random import randint# Ввод количества строк и столбцов
n = int(input("Введите количество строк: "))
m = int(input("Введите количество столбцов: "))
# Создание и заполнение двумерного массива
matrix = []
for i in range(n):
row = []
for j in range(m):
number = randint(1, 9)
row.append(number)
matrix.append(row)
# Вывод матрицы
print("Полученная матрица:")
for row in matrix:
print(*row)
# Вычисление суммы и произведения
total_sum = 0
total_product = 1
for row in matrix:
for element in row:
total_sum += element
total_product *= element
# Вывод результатов
print("Сумма элементов:", total_sum)
print("Произведение элементов:", total_product)
Например, программа может создать следующую матрицу:
2 3 4
1 5 2Тогда сумма элементов будет равна:
2 + 3 + 4 + 1 + 5 + 2 = 17Произведение элементов будет равно:
2 · 3 · 4 · 1 · 5 · 2 = 240Результат работы программы:
Сумма элементов: 17
Произведение элементов: 240Если элементы матрицы должны вводиться с клавиатуры, программу можно записать так:
n = int(input("Введите количество строк: "))
m = int(input("Введите количество столбцов: "))matrix = []
for i in range(n):
row = list(map(int, input(f"Введите элементы строки {i + 1}: ").split()))
matrix.append(row)
total_sum = 0
total_product = 1
for i in range(n):
for j in range(m):
total_sum += matrix[i][j]
total_product *= matrix[i][j]
print("Сумма элементов:", total_sum)
print("Произведение элементов:", total_product)
Основная часть алгоритма:
total_sum += matrix[i][j]
total_product *= matrix[i][j]Первая команда добавляет текущий элемент к общей сумме, а вторая умножает общее произведение на текущий элемент. Если в матрице присутствует хотя бы один ноль, произведение всех элементов будет равно нулю.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

