تحديات برمجيةالتحدي السادس - حل التمرين الثاني بلغة C#
المطلوب
قم بتعريف دالة إسمها PrintSecondLowest
, عند استدعاءها نمرر لها مصفوفة أحادية (ذات بعد واحد) فتقوم بطباعة ثاني أصغر عدد موجود فيها.
بعدها قم بإنشاء مصفوفة في البرنامج و تجربة استدعاء الدالة لمعرفة ثاني أصغر عدد موجود في المصفوفة.
الحل بلغة C#
using System; class Program { // PrintSecondLowest() هنا قمنا بتعريف الدالة static void PrintSecondLowest(int[] arr) { if (arr.Length == 0) { Console.WriteLine("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]) { Console.WriteLine("There isn't a second lowest number"); return; } Console.WriteLine("Second lowest number is: " + secondLowest); } // PrintSecondLowest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة static void Main(string[] args) { int[] arr = { 5, 9, 3, 6, 4, 2, 7, 1, 8 }; PrintSecondLowest(arr); Console.ReadKey(); } }
سنحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة تحتوي على نفس القيم المجهزة فيها.
Second lowest number is: 2