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

خوارزميات المصفوفات

جزء من قسم Fundamentals في رحلة C على Coddy — الدرس 59 من 63.

تعد خوارزميات المصفوفات تقنيات أساسية لمعالجة بيانات المصفوفات. دعونا نتعلم بعض عمليات المصفوفات الشائعة.

إيجاد القيمة القصوى في مصفوفة:

// تهيئة مصفوفة
int numbers[] = {4, 9, 2, 7, 5};

// تعيين القيمة العظمى الأولية إلى العنصر الأول
int max = numbers[0];
// قارن مع العناصر الأخرى
for (int i = 1; i < 5; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

// الآن يحتوي max على القيمة الأكبر (9)

العثور على القيمة الصغرى يعمل بشكل مشابه:

// تعيين القيمة الصغرى الأولية إلى العنصر الأول
int min = numbers[0];

// مقارنة مع العناصر الأخرى
for (int i = 1; i < 5; i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

// الآن min يحتوي على أصغر قيمة (2)

جمع كل العناصر في مصفوفة:

int sum = 0;

// أضف كل عنصر إلى المجموع
for (int i = 0; i < 5; i++) {
    sum += numbers[i];
}

// الآن يحتوي sum على المجموع (27)
challenge icon

التحدي

سهل

اكتب دالة تسمى findAverage تقوم بحساب المتوسط لجميع العناصر في مصفوفة من الأعداد الصحيحة.

يجب أن تقوم الدالة بما يلي:

  1. تأخذ مصفوفة أعداد صحيحة وحجمها كمعاملات (parameters)
  2. تحسب مجموع كل العناصر
  3. تقسم المجموع على عدد العناصر للحصول على المتوسط
  4. تعيد المتوسط كقيمة من نوع float

بعد حساب المتوسط، اطبع النتيجة بمنزلتين عشريتين بالضبط باستخدام: printf("Average: %.2f\n", average);

ورقة مرجعية

خوارزميات المصفوفات الشائعة لإيجاد القيم العظمى والصغرى والمجموع:

إيجاد القيمة العظمى:

int max = numbers[0];
for (int i = 1; i < size; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

إيجاد القيمة الصغرى:

int min = numbers[0];
for (int i = 1; i < size; i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

جمع كل العناصر:

int sum = 0;
for (int i = 0; i < size; i++) {
    sum += numbers[i];
}

لطباعة عدد عشري (float) بمنزلتين عشريتين: printf("Average: %.2f\n", average);

جرّب بنفسك

#include <stdio.h>

// اكتب دالة findAverage الخاصة بك هنا

int main() {
    int size;
    scanf("%d", &size);
    
    int numbers[size];
    
    // قراءة عناصر المصفوفة
    for (int i = 0; i < size; i++) {
        scanf("%d", &numbers[i]);
    }
    
    // استدعِ دالتك واطبع النتيجة
    float average = findAverage(numbers, size);
    printf("Average: %.2f\n", average);
    
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals