Вопрос задан 21.06.2023 в 18:02. Предмет Информатика. Спрашивает Меркулов Родион.

Помогите написать программу Python 1. Квадратная матрица, симметричная относительно главной

диагонали, задана верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать по строкам. 2. Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, просуммировав элементы одномерного массива. Преобразовать исходную матрицу по правилу: четные строки разделить на полученное значение, нечетные оставить без изменения.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ландыш Айсылу.

Ответ:

1.

matrix = [[]] - какая-то матрица

for i in range(len(matrix)):

----matrix[i][j] = int(input())

----for j in range(i + 1, len(matrix)):

--------matrix[i][j] = int(input())

--------matrix[j][i] = matrix[i][j]

print(matrix)

2.

matrix = [[]] - какая-то матрица

диагональ = []

for i in range(len(matrix)):

----диагональ.append(matrix[i][i])

print(диагональ)

print(sum(диагональ))

или

summary = 0

for i in диагональ:

----summary += i

print(summary)

for i in range(len(matrix)):

----if i+1 % 2 == 0:

--------for j in range(len(matrix[i])):

------------matrix[i][j]  /= summary

print(matrix)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для первой части задачи, где требуется восстановить исходную матрицу из одномерного массива, можно использовать следующий код:

python
# Восстановление матрицы из одномерного массива верхнего треугольника def restore_matrix(arr): n = int((1 + (1 + 8 * len(arr)) ** 0.5) / 2) # Определяем размерность матрицы matrix = [[0] * n for _ in range(n)] k = 0 for i in range(n): for j in range(i, n): matrix[i][j] = arr[k] matrix[j][i] = arr[k] k += 1 for row in matrix: print(' '.join(map(str, row))) # Пример использования arr = [1, 2, 3, 4, 5, 6] restore_matrix(arr)

Для второй части задачи, где требуется найти след матрицы и преобразовать исходную матрицу в соответствии с заданными правилами, можно использовать следующий код:

python
# Формирование массива диагональных элементов и преобразование матрицы def transform_matrix(matrix): n = len(matrix) diagonal_array = [matrix[i][i] for i in range(n)] trace = sum(diagonal_array) # Находим след матрицы for i in range(n): if i % 2 == 0: # Четные строки divisor = trace for j in range(n): matrix[i][j] /= divisor # Нечетные строки оставляем без изменения return matrix # Пример использования matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] transformed_matrix = transform_matrix(matrix) for row in transformed_matrix: print(' '.join(map(str, row)))

Обратите внимание, что в обоих примерах я предоставил примеры использования с некоторыми тестовыми данными. Вы можете заменить их на свои собственные данные.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос