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

المطلوب

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


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

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 
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة