Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Помогите решить Python!!!!

С клавиатуры вводится вещественная матрица А NxN (N<=40).
1. Найти максимальный элемент под главной диагональю.
2. Найти номер столбца первого элемента, равного нулю.
3. Найти минимальный элемент к-го столбца матрицы.
4. Переставить местами k-ый и l-ый столбцы матрицы.
5. Найти произведение элементов на главной и побочной диагоналях матрицы.
6. Отсортировать побочную диагональ по возрастанию элементов.
7. Поменять местами минимальный и максимальный элементы матрицы.
8. Составить одномерный массив из средних арифметических значений положительных элементов четных столбцов матрицы.

По дате
По рейтингу
Аватар пользователя
Новичок

Здравствуйте, Дим!
Вот ответ для Вас от меня:
1. В виде одного файла
2. Ниже - в виде текста

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  
N = int(input("N=")) 
 
# Ввожу матрицу вещественных чисел 
A = [] 
for y in range(N): 
    A = A + [[]] # Добавляю новую строку в матрицу 
    for x in range(N): 
        f = float(input("A["+str(y)+"]["+str(x)+"]=")) 
        A[y] = A[y]+[f] 
 
# Вывожу матрицу на экран 
print("Исходная матрица:") 
for y in range(N): 
    for x in range(N): 
        print("\t",A[y][x],end="") 
    print() 
 
# Ищу максимальный элемент под главной диагональю 
max_A = 0 
for y in range(N): 
    for x in range(N): 
        if y>x and A[y][x]>max_A: # Если y>x - тогда A[y][x] находится под главной диагональю 
            max_A = A[y][x] 
print("1.Максимальный элемент под главной диагональю:",max_A) 
 
# Ищу номер первого столбца, в котором есть нулевой элемент 
finded_zero = False # Признак, что найден нулевой элемент 
num_col_zero = -1 # Номер столбца с нулевым элементом 
for x in range(N): 
    for y in range(N): 
        if A[y][x] == 0: 
            # Нашёл столбец с нулевым элементом 
            num_col_zero = x 
            finded_zero = True 
            break # Выхожу из цикла 
    if finded_zero: 
        break 
if finded_zero: 
    print("2.Номер столбца первого элемента, равного нулю:",num_col_zero+1) 
else: 
    print("2.Элемент, равный нулю, не найден.") 
 
# Ищу минимальный элемент k-го столбца 
k = int(input("Введите номер столбца k=")) 
min_A_k = A[0][k-1] 
for y in range(N): 
    if A[y][k-1]<min_A_k: 
            min_A_k = A[y][k-1] 
print("3.Минимальный элемент",k,"столбца:",min_A_k) 
 
# Переставляю местами k-й и l-й столбцы местами 
l = int(input("Введите номер столбца l=")) 
for y in range(N): 
    buf = A[y][l-1] 
    A[y][l-1] = A[y][k-1] 
    A[y][k-1] = buf 
 
# Вывожу матрицу на экран 
print("4.Переставил местами",k,"и",l,"столбцы матрицы:") 
for y in range(N): 
    for x in range(N): 
        print("\t",A[y][x],end="") 
    print() 
 
# Вычисляю произведение элементов главной и побочной диагонали 
mul = 1 # Для начала произведение равно единице 
for i in range(N): 
    mul = mul * A[i][i] 
for i in range(N): 
    if N-1-i != i: # Центральный элемент матрицы второй раз не применяю 
        mul = mul * A[N-1-i][i] 
print("5.Произведение элементов на главной и побочной диагоналях матрицы:",mul) 
 
далее - в комментарии 
Аватар пользователя
Оракул

Найди минимальньіе наведения , там есть весь алгоритм