Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص: وسائط المؤشرات في الدوال

جزء من قسم Logic & Flow في رحلة C على Coddy — الدرس 30 من 63.

challenge icon

التحدي

سهل

اكتب برنامجاً بلغة C ينفذ دالة للعثور على كل من القيمتين الصغرى والعظمى في مصفوفة باستخدام وسائط المؤشرات. يجب أن يقوم برنامجك بما يلي:

  1. إنشاء دالة باسم findMinMax تأخذ أربعة معاملات:
    • مصفوفة من الأعداد الصحيحة
    • حجم المصفوفة
    • مؤشر إلى عدد صحيح لتخزين القيمة الصغرى
    • مؤشر إلى عدد صحيح لتخزين القيمة العظمى
  2. داخل دالة findMinMax، قم بالمرور عبر المصفوفة للعثور على القيمتين الصغرى والعظمى
  3. استخدم عامل إلغاء المرجعية (dereference operator) لتخزين القيمة الصغرى في العنوان الذي يشير إليه مؤشر القيمة الصغرى
  4. استخدم عامل إلغاء المرجعية لتخزين القيمة العظمى في العنوان الذي يشير إليه مؤشر القيمة العظمى
  5. في دالة main، اقرأ عدداً صحيحاً n يمثل عدد العناصر في المصفوفة
  6. اقرأ n من القيم الصحيحة وقم بتخزينها في مصفوفة
  7. قم بالتصريح عن متغيرين صحيحين minValue و maxValue لتخزين النتائج
  8. استدعِ دالة findMinMax، مع تمرير المصفوفة وحجمها وعناوين minValue و maxValue
  9. اطبع النتائج بالتنسيق التالي: Minimum: [value] و Maximum: [value]

على سبيل المثال، إذا كان المدخل هو:

5
12 7 23 4 18

يجب أن يكون المخرج:

Minimum: 4
Maximum: 23

يوضح هذا التحدي التقنية القوية لاستخدام وسائط مؤشرات متعددة لإرجاع قيم متعددة من استدعاء دالة واحدة، مما يسمح للدالة بتعديل المتغيرات في نطاق الدالة المستدعية.

جرّب بنفسك

#include <stdio.h>

// TODO: اكتب دالة findMinMax الخاصة بك هنا

int main() {
    int n;
    scanf("%d", &n);
    
    int arr[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    int minValue, maxValue;
    
    // TODO: استدعِ دالة findMinMax هنا
    
    printf("Minimum: %d\n", minValue);
    printf("Maximum: %d\n", maxValue);
    
    return 0;
}

جميع دروس Logic & Flow