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

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

المطلوب

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


الحل بلغة C

#include <stdio.h>
// printSecondLowest() هنا قمنا بتعريف الدالة
void printSecondLowest(int *arr, int arrLength) {
if (arrLength == 0)
{
printf("Invalid params");
return;
}
int secondLowest = arr[0];
int temp;
for (int i = 0; i < arrLength - 1; i++)
{
for (int j = i + 1; j < arrLength; j++)
{
if (arr[i] > arr[j])
{
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for (int i = 0; i < arrLength; i++)
{
if (arr[i] != arr[0])
{
secondLowest = arr[i];
break;
}
}
if (secondLowest == arr[0])
{
printf("There isn't a second lowest number");
return;
}
printf("Second lowest number is: %d", secondLowest);
}
// printSecondLowest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة
void main() {
int arr[] = {5, 9, 3, 6, 4, 2, 7, 1, 8};
int arrLength = sizeof(arr) / sizeof(arr[0]);
printSecondLowest(arr, arrLength);
}
#include <stdio.h> // printSecondLowest() هنا قمنا بتعريف الدالة void printSecondLowest(int *arr, int arrLength) { if (arrLength == 0) { printf("Invalid params"); return; } int secondLowest = arr[0]; int temp; for (int i = 0; i < arrLength - 1; i++) { for (int j = i + 1; j < arrLength; j++) { if (arr[i] > arr[j]) { temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } for (int i = 0; i < arrLength; i++) { if (arr[i] != arr[0]) { secondLowest = arr[i]; break; } } if (secondLowest == arr[0]) { printf("There isn't a second lowest number"); return; } printf("Second lowest number is: %d", secondLowest); } // printSecondLowest() هنا قمنا بإنشاء مصفوفة أرقام أحادية و تجربة الدالة void main() { int arr[] = {5, 9, 3, 6, 4, 2, 7, 1, 8}; int arrLength = sizeof(arr) / sizeof(arr[0]); printSecondLowest(arr, arrLength); }

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

Second lowest number is: 2