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

المطلوب

قم بتعريف دالة إسمها PrintSecondBiggest, عند استدعاءها نمرر لها مصفوفة أحادية (ذات بعد واحد) فتقوم بطباعة ثاني أكبر عدد موجود فيها.
بعدها قم بإنشاء مصفوفة في البرنامج و تجربة استدعاء الدالة لمعرفة ثاني أكبر عدد موجود في المصفوفة.


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

# print_second_biggest() هنا قمنا بتعريف الدالة
def print_second_biggest(arr):

    if len(arr) == 0:
        print("Invalid params")
        return

    second_biggest = arr[0]

    for i in range(len(arr) - 1):
        for j in range(i, len(arr)):
            if arr[i] > arr[j]:
                temp = arr[j]
                arr[j] = arr[i]
                arr[i] = temp

    for i in range(len(arr) - 1, 0, -1):
        if arr[i] != arr[len(arr) - 1]:
            second_biggest = arr[i]
            break

	if second_biggest == arr[0]:
		print("There isn't a second biggest number")
		return
	
    print("Second biggest number is:", second_biggest)


# print_second_biggest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
arr = [5, 9, 3, 6, 4, 2, 7, 1, 8]
print_second_biggest(arr)
		

سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة تحتوي على نفس القيم المجهزة فيها.

Second biggest number is: 8
		

الدورات

أدوات مساعدة

أقسام الموقع

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