Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

تحديات برمجيةالتحدي الخامس - حل التمرين الثالث بلغة بايثون

المطلوب

أكتب برنامج يقوم بترتيب جميع القيم الموجودة في مصفوفة أرقام ثنائية جاهزة من الأصغر إلى الأكبر.
قم بعرض القيم الموجودة في المصفوفة قبل الترتيب و بعد الترتيب.


الحل بلغة بايثون

matrix = [
[5, 2, 4],
[1, 7, 3],
[9, 8, 6]
]
rows = len(matrix)
cols = len(matrix[0])
array = [0] * (rows * cols)
print('Matrix before sorting ')
for i in range(rows):
for j in range(len(matrix[0])):
print(matrix[i][j], end=' ')
print()
for i in range(rows):
for j in range(cols):
array[j + (i * rows)] = matrix[i][j]
for i in range(len(array) - 1):
for j in range(i + 1, len(array)):
if array[j] < array[i]:
temp = array[j]
array[j] = array[i]
array[i] = temp
for i in range(rows):
for j in range(cols):
matrix[i][j] = array[j + (i * rows)]
print('\nMatrix after sorting ')
for i in range(rows):
for j in range(cols):
print(matrix[i][j], end=' ')
print()
matrix = [ [5, 2, 4], [1, 7, 3], [9, 8, 6] ] rows = len(matrix) cols = len(matrix[0]) array = [0] * (rows * cols) print('Matrix before sorting ') for i in range(rows): for j in range(len(matrix[0])): print(matrix[i][j], end=' ') print() for i in range(rows): for j in range(cols): array[j + (i * rows)] = matrix[i][j] for i in range(len(array) - 1): for j in range(i + 1, len(array)): if array[j] < array[i]: temp = array[j] array[j] = array[i] array[i] = temp for i in range(rows): for j in range(cols): matrix[i][j] = array[j + (i * rows)] print('\nMatrix after sorting ') for i in range(rows): for j in range(cols): print(matrix[i][j], end=' ') print()

سنحصل على النتيجة التالية عند التشغيل.

Matrix before sorting 
5 2 4 
1 7 3 
9 8 6 

Matrix after sorting 
1 2 3 
4 5 6 
7 8 9