Answer to Question #234906 in Python for Narireddy

Question #234906
Given a M x N matrix, write a program to print the matrix after ordering all the elements of the matrix in increasing order

Input

The first line of input will contain two space-separated integers, denoting the M and N.
The next M following lines will contain N space-separated integers, denoting the elements of each list.
Output

The output should be M lines containing the ordered matrix.
Note: There is a space at the end of each line






Explanation

For example, if the given M is 3 and N is 3, read the inputs in the next three lines if the numbers given in the next three lines are the following.
1 20 3
30 10 2
5 11 15

By ordering all the elements of the matrix in increasing order, the ordered matrix should be
1 2 3
5 10 11
15 20 30
1
Expert's answer
2021-09-08T16:02:14-0400
M, N = input("two space separated integers in increasing order: ").split(' ')
M = int(M)
N=int(N)
matrix = []
for m in range(M):
	row = [int(x) for x in input().split(' ')]
	matrix.append(row)


#getting all the matrix elemnts into list for easy sorting
elements = [x for row in matrix for x in row]


#sort Elements
elements.sort()


#creationg copy of matrix to the new vasriable
output = matrix


#getting the sorted elements into matrix
for i in range(M):
	for j in range(N):
		matrix[i][j] = elements[i * M + j]


#print matrix elements
for item in matrix:
    print(item)

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS