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

تحديات برمجيةالتحدي السادس - حل التمرين الأول بلغة C#

المطلوب

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


الحل بلغة C#

using System;
class Program
{
// PrintSecondBiggest() هنا قمنا بتعريف الدالة
static void PrintSecondBiggest(int[] arr)
{
if (arr.Length == 0)
{
Console.WriteLine("Invalid params");
return;
}
int secondBiggest = 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 = arr.Length - 1; i >= 0; i--)
{
if (arr[i] != arr[arr.Length - 1])
{
secondBiggest = arr[i];
break;
}
}
if (secondBiggest == arr[0])
{
Console.WriteLine("There isn't a second biggest number");
return;
}
Console.WriteLine("Second biggest number is: " + secondBiggest);
}
// PrintSecondBiggest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
static void Main(string[] args)
{
int[] arr = { 5, 9, 3, 6, 4, 2, 7, 1, 8 };
PrintSecondBiggest(arr);
Console.ReadKey();
}
}
using System; class Program { // PrintSecondBiggest() هنا قمنا بتعريف الدالة static void PrintSecondBiggest(int[] arr) { if (arr.Length == 0) { Console.WriteLine("Invalid params"); return; } int secondBiggest = 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 = arr.Length - 1; i >= 0; i--) { if (arr[i] != arr[arr.Length - 1]) { secondBiggest = arr[i]; break; } } if (secondBiggest == arr[0]) { Console.WriteLine("There isn't a second biggest number"); return; } Console.WriteLine("Second biggest number is: " + secondBiggest); } // PrintSecondBiggest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة static void Main(string[] args) { int[] arr = { 5, 9, 3, 6, 4, 2, 7, 1, 8 }; PrintSecondBiggest(arr); Console.ReadKey(); } }

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

Second biggest number is: 8