• Предмет: Информатика
  • Автор: netfilft
  • Вопрос задан 2 месяца назад

Язык Python, НУЖНО СРОЧНО СДЕЛАТЬ

Приложения:

Ответы

Ответ дал: TemaZpro
1

Ответ:

Задание 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")


netfilft: Очень много двоеточий пропустил
Вас заинтересует