Сортировка строк матрицы
Напишите программу, которая переставляет строки матрицы так, чтобы значения в столбце K шли в порядке убывания. Строки, у которых значения в столбце K равны, должны быть выведены в том же порядке, в котором они стояли в исходной матрице.
Входные данные
В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами. В последней строке вводится номер столбца K .
Выходные данные
Программа должна вывести получившуюся матрицу, в которой строки переставлены так, чтобы значения в столбце K шли в порядке убывания.
Примеры
входные данные
4 5
21 22 23 24 25
26 12 18 29 33
11 37 31 14 39
16 17 18 5 20
1
выходные данные
26 12 18 29 33
21 22 23 24 25
16 17 18 5 20
11 37 31 14 39
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Сортировка строк матрицы
Напишите программу, которая переставляет строки матрицы так, чтобы значения в столбце K шли в.
Сортировка строк матрицы по минимальному элементу строки
Дана матрица и нужно её преобразовать таким образом,чтобы строки матрицы были отсортированы в.
Упорядочить строки матрицы по наибольшим элементам строк(сортировка выбором)
Помогите Дано матрицу размером n x m; упорядочить строки матрицы по увеличению значений наибольших.
Сортировка строк матрицы: Вывести отсортированную матрицу по суммам строк
Помогите пожалуйста разобраться со второй частью задания. Что я делаю не так? Не выводит.
Сортировка строк матрицы по возрастанию произведения четных элементов строк
Доброго времени форумчане. нужна ваша помощь в доработке программы. Вот условие. Дана.
Сортировка матрицы
Задание:
Напишите функцию с использованием Numpy super_sort(rows, cols), в которую поступают размеры
матрицы. Вам необходимо:
1. заполнить матрицу А случайными целыми числами из диапазона [1..100]
2. сделать копию этой матрицы в матрицу B
3. упорядочить чётные столбцы матрицы B по возрастанию, а нечётные — по убыванию
Верните кортеж, состоящий из матриц А и B.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
import numpy as np def super_sort(rows, cols): A = np.random.randint(1, 101, (rows, cols)) B = A.copy() B[:, ::2] = -np.sort(-B[:, ::2], axis=0) B[:, 1::2] = np.sort(B[:, 1::2], axis=0) # C = A + B # return C return A, B if __name__ == '__main__': rows = int(input("Введите количество строк: ")) cols = int(input("Введите количество столбцов: ")) print(super_sort(rows, cols))
То, что закомментировано (строки 8 и 9) должно в итоге быть в программе, а пока что ниже лишь проверяю правильность работы (строка 10), но программа всё же выдаёт бред. Пытался решить всякими уже методами, но так и не додумался, нужна помощь.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Сортировка выбором, Сортировка простыми вставками, Сортировка пузырьком, Сортировка слиянием, Быстрая сортировка Хоара
Имеется список товаров, хранящихся на базе. Каждая строка этого списка содержит: инвентарный номер.
Сортировка матрицы
при отправке в сириус говорит что программа выдаёт не верный ответ, хотя у меня всё.
Сортировка матрицы
Не получается закончить прогу. Сортировка вставками from numpy import* import random m=0 n=0.
Сортировка матрицы
Сортировать матрицу K сначала по возрастанию z-координаты, потом по возрастанию phi-координаты, как.
Python-сообщество
- Начало
- » Python для новичков
- » Сортировка строк матрицы по минимальному элементу строки
#1 Дек. 29, 2020 16:10:29
Typical_beginer Зарегистрирован: 2020-12-29 Сообщения: 12 Репутация: 0 Профиль Отправить e-mail
Сортировка строк матрицы по минимальному элементу строки
Дана матрица и нужно её преобразовать таким образом,чтобы строки матрицы были отсортированы в зависимости от минимального элемента каждой строки.
То есть входные данные такие
[7,2,5,12] [10,7,3,22] [23,45,6,1] [16,4,9,34]
А выходные должны быть такими
[23,45,6,1] - мин.эл 1 [7,2,5,12] - мин.эл 2 [10,7,3,22] - мин.эл 3 [16,4,9,34] - мин.эл 4
Функцию Sort() использовать нельзя Было сделано следующее
A1=[[1.3, 2.5, 4.5, 0.8], [0.1, 4.2, 3.4, 2.8], [3.1, 1.7, 2,2, 4.5], [0.3, 0.6, 5,1, 0.7], [2.5, 3.5, 0.4, 5.3], [1.2, 2.4, 1.8, 7.2]] print("Сформированная матрица:") for i in range(len(A1)): for j in range(len(A1[i])): print(A1[i][j], end = ' ') print() print("Преобразованная матрица") min=0; for i in range(len(A1)): for j in range(len(A1[0])): if A1[i[j] A1[0]j]: min= A1[i][j] A1[i][j]= A1[0][j]; A1[0][j]= min print(" Минимальный элемент", i," строки = ", min) for i in range(len(A1)): for j in range(len(A1[i])): print(A1[i][j], end = ' ') print()
В коде выше, вывел матрицы с помощью цикла нахожу минимальный элемент,заношу его в специальную переменную min но что именно дальше делать?Нашёл минимальный элемент,как сделать сортировку строк не используя sort()
Отредактировано Typical_beginer (Дек. 29, 2020 16:18:02)
Сортировка матрицы
Дана матрица n * m , нужно отсортировать и вывести колонками от самого маленького к самому большому, у меня не выходит сделать, смотреть ниже. Мой код:
n , m = map(int,input().split()) matrix = [list(map(int,input().split())) for i in range(n)] matrix_copy = copy.deepcopy(matrix) li = [] for i in range(n): for j in range(m): li.append(matrix[i][j]) li.sort() k = -1 for i in range(n): for j in range(m): k +=1 matrix_copy[i][j] = li[k] x = (list(zip(*matrix_copy))) for i in x: print(*i)
Вход: n — количество строк, m- количество колонок, потом вводим матрицу нужного размера. Как работает у меня:
input: 3 3 4 1 3 2 5 7 9 8 6 output: 1 4 7 2 5 8 3 6 9 input: 1 3 4 2 1 output: 1 2 4 input: 3 1 9 7 8 output: 7 8 9
Как должно быть:
input0: 3 3 4 1 3 2 5 7 9 8 6 output0: 1 4 7 2 5 8 3 6 9 input1: 1 3 4 2 1 output1: 1 2 4 input2: 3 1 9 7 8 output2: 7 8 9