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

المطلوب

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


الحل بلغة جافا

public class Main {
    
	// printSecondLowest() هنا قمنا بتعريف الدالة
    public static void printSecondLowest(int[] arr) {
		
        if (arr.length == 0)
        {
            System.out.println("Invalid params");
            return;
        }
        
        int secondLowest = arr[0];
        int temp;
        
        for (int i = 0; i < arr.length - 1; i++)
        {
            for (int j = i + 1; j < arr.length; j++)
            {
                if (arr[i] > arr[j])
                {
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        
        for (int i = 0; i < arr.length; i++)
        {
            if (arr[i] != arr[0])
            {
                secondLowest = arr[i];
                break;
            }
        }
        
		if (secondLowest == arr[0])
		{
			System.out.println("There isn't a second lowest number");
			return;
		}
        
        System.out.println("Second lowest number is: " + secondLowest);
    
	}
	
	
	// printSecondLowest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
    public static void main(String[] args) {
        
        int[] arr = {5, 9, 3, 6, 4, 2, 7, 1, 8};
        
		printSecondLowest(arr);
        
    }

}
		

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

Second lowest number is: 2
		

الدورات

أدوات مساعدة

أقسام الموقع

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