Дан двумерный массив, содержащий n строк и m столбца. Элементами массива являются вещественные числа. Упорядочить массив по убыванию элементов предпоследней строки.
написать программу в питоне, через списки, если надо вводить цифры в массив, то через функция рандом сделать
дать пояснение к программе
Answers & Comments
Ответ:
Не совсем понял условие, разделился на два мнения, так что и решения предоставлю два:
1. тут просто предпоследняя строка massiv[-2] сортируется по убыванию
import random
n=int(input())
m=int(input())
massiv=[[random.randint(-100,100) for i in range(m)] for x in range(n)]
print(massiv)
massiv[-2].sort(reverse=True)
print(massiv)
2. Тут предпоследняя строка сортируется по убыванию, а остальные элементы в других строках переставляются так, как в предпоследней(скорее всего это и требуется)
import random
n=int(input())
m=int(input())
massiv=[[random.randint(-100,100) for i in range(m)] for x in range(n)]
print(massiv)
#обычный метод сортировки пузырьком, просто тут еще добавляется цикл, который меняет элементы во всех строках
for i in range(m-1):
for j in range(m-i-1):
if massiv[-2][j] < massiv[-2][j+1]:
for l in range(n): #вот и этот цикл
massiv[l][j], massiv[l][j+1] = massiv[l][j+1], massiv[l][j]
print(massiv)