Ответ:
Задание 1.
def Vvod1m(A, N, Name):
print("Введите элементы массива", Name)
for i in range(N):
A[i] = float(input(f"{Name}[{i+1}]: "))
def Vivod1m(A, N, Name):
print("Массив", Name)
print(f"{Name}[{i+1}] =", A[i])
def IndMax(A, N):
max_index = 0
for i in range(1, N):
if A[i] > A[max_index]:
max_index = i
return max_index
def SrAPol(A, N):
sum_positive = 0
count_positive = 0
if A[i] > 0:
sum_positive += A[i]
count_positive += 1
if count_positive > 0:
return sum_positive / count_positive
else:
return 0
# Ввод массивов X1, X2, X3
N = int(input("Введите размер массивов: "))
X1 = [0] * N
X2 = [0] * N
X3 = [0] * N
Vvod1m(X1, N, "X1")
Vvod1m(X2, N, "X2")
Vvod1m(X3, N, "X3")
# Вывод исходных массивов
print("Исходные массивы:")
Vivod1m(X1, N, "X1")
Vivod1m(X2, N, "X2")
Vivod1m(X3, N, "X3")
# Замена максимального элемента средним арифметическим положительных элементов
max_index_X1 = IndMax(X1, N)
max_index_X2 = IndMax(X2, N)
max_index_X3 = IndMax(X3, N)
sr_arith_pol_X1 = SrAPol(X1, N)
sr_arith_pol_X2 = SrAPol(X2, N)
sr_arith_pol_X3 = SrAPol(X3, N)
X1[max_index_X1] = sr_arith_pol_X1
X2[max_index_X2] = sr_arith_pol_X2
X3[max_index_X3] = sr_arith_pol_X3
# Вывод преобразованных массивов
print("Массивы после преобразования:")
Задание 2.
def Vvod2m(A, N, M, Name):
print("Введите элементы матрицы", Name)
for j in range(M):
A[i][j] = float(input(f"{Name}[{i+1}][{j+1}]: "))
def Vivod2m(A, N, M, Name):
print("Матрица", Name)
print(f"{Name}[{i+1}][{j+1}] =", A[i][j])
print()
def Zamena(A, N, M, Vichet):
if A[i][j] > 0:
A[i][j] -= Vichet
def Maximum(A, N, M):
max_val = A[0][0]
if A[i][j] > max_val:
max_val = A[i][j]
return max_val
# Ввод размеров матрицы
N = int(input("Введите количество строк матрицы: "))
M = int(input("Введите количество столбцов матрицы: "))
# Ввод матриц X и Y
X = [[0] * M for _ in range(N)]
Y = [[0] * M for _ in range(N)]
Vvod2m(X, N, M, "X")
Vvod2m(Y, N, M, "Y")
# Вывод исходных матриц
print("Исходные матрицы:")
Vivod2m(X, N, M, "X")
Vivod2m(Y, N, M, "Y")
# Нахождение максимумов в матрицах X и Y
max_X = Maximum(X, N, M)
max_Y = Maximum(Y, N, M)
# Преобразование матриц X и Y
Zamena(X, N, M, max_Y)
Zamena(Y, N, M, max_X)
# Вывод преобразованных матриц
print("Матрицы после преобразования:")
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Ответ:
Задание 1.
def Vvod1m(A, N, Name):
print("Введите элементы массива", Name)
for i in range(N):
A[i] = float(input(f"{Name}[{i+1}]: "))
def Vivod1m(A, N, Name):
print("Массив", Name)
for i in range(N):
print(f"{Name}[{i+1}] =", A[i])
def IndMax(A, N):
max_index = 0
for i in range(1, N):
if A[i] > A[max_index]:
max_index = i
return max_index
def SrAPol(A, N):
sum_positive = 0
count_positive = 0
for i in range(N):
if A[i] > 0:
sum_positive += A[i]
count_positive += 1
if count_positive > 0:
return sum_positive / count_positive
else:
return 0
# Ввод массивов X1, X2, X3
N = int(input("Введите размер массивов: "))
X1 = [0] * N
X2 = [0] * N
X3 = [0] * N
Vvod1m(X1, N, "X1")
Vvod1m(X2, N, "X2")
Vvod1m(X3, N, "X3")
# Вывод исходных массивов
print("Исходные массивы:")
Vivod1m(X1, N, "X1")
Vivod1m(X2, N, "X2")
Vivod1m(X3, N, "X3")
# Замена максимального элемента средним арифметическим положительных элементов
max_index_X1 = IndMax(X1, N)
max_index_X2 = IndMax(X2, N)
max_index_X3 = IndMax(X3, N)
sr_arith_pol_X1 = SrAPol(X1, N)
sr_arith_pol_X2 = SrAPol(X2, N)
sr_arith_pol_X3 = SrAPol(X3, N)
X1[max_index_X1] = sr_arith_pol_X1
X2[max_index_X2] = sr_arith_pol_X2
X3[max_index_X3] = sr_arith_pol_X3
# Вывод преобразованных массивов
print("Массивы после преобразования:")
Vivod1m(X1, N, "X1")
Vivod1m(X2, N, "X2")
Vivod1m(X3, N, "X3")
Задание 2.
def Vvod2m(A, N, M, Name):
print("Введите элементы матрицы", Name)
for i in range(N):
for j in range(M):
A[i][j] = float(input(f"{Name}[{i+1}][{j+1}]: "))
def Vivod2m(A, N, M, Name):
print("Матрица", Name)
for i in range(N):
for j in range(M):
print(f"{Name}[{i+1}][{j+1}] =", A[i][j])
print()
def Zamena(A, N, M, Vichet):
for i in range(N):
for j in range(M):
if A[i][j] > 0:
A[i][j] -= Vichet
def Maximum(A, N, M):
max_val = A[0][0]
for i in range(N):
for j in range(M):
if A[i][j] > max_val:
max_val = A[i][j]
return max_val
# Ввод размеров матрицы
N = int(input("Введите количество строк матрицы: "))
M = int(input("Введите количество столбцов матрицы: "))
# Ввод матриц X и Y
X = [[0] * M for _ in range(N)]
Y = [[0] * M for _ in range(N)]
Vvod2m(X, N, M, "X")
Vvod2m(Y, N, M, "Y")
# Вывод исходных матриц
print("Исходные матрицы:")
Vivod2m(X, N, M, "X")
Vivod2m(Y, N, M, "Y")
# Нахождение максимумов в матрицах X и Y
max_X = Maximum(X, N, M)
max_Y = Maximum(Y, N, M)
# Преобразование матриц X и Y
Zamena(X, N, M, max_Y)
Zamena(Y, N, M, max_X)
# Вывод преобразованных матриц
print("Матрицы после преобразования:")
Vivod2m(X, N, M, "X")
Vivod2m(Y, N, M, "Y")