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

المصفوفات متعددة الأبعاد

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

المصفوفة متعددة الأبعاد هي مصفوفة من المصفوفات. في C، يمكنك إنشاء مصفوفة ثنائية الأبعاد (وهي المصفوفة متعددة الأبعاد الأكثر شيوعًا)، وهي في الأساس جدول يحتوي على صفوف وأعمدة.

صرّح عن مصفوفة ثنائية الأبعاد:

int matrix[3][4];

ينشئ هذا مصفوفة ثنائية الأبعاد مكوّنة من 3 صفوف و4 أعمدة.

يمكنك تهيئة مصفوفة ثنائية الأبعاد عند التصريح عنها:

int matrix[3][4] = {
    {1, 2, 3, 4},    // الصف الأول
    {5, 6, 7, 8},    // الصف الثاني
    {9, 10, 11, 12}  // الصف الثالث
};

للوصول إلى العناصر في مصفوفة ثنائية الأبعاد، استخدم فهرسين:

int value = matrix[1][2];  // يصل إلى الصف 1، العمود 2 (ستكون القيمة 7)

لتعديل element في مصفوفة ثنائية الأبعاد:

matrix[0][3] = 100;  // يغير العنصر في الصف 0، العمود 3 إلى 100

يمكنك أيضًا استخدام الحلقات المتداخلة للوصول إلى جميع العناصر في مصفوفة ثنائية الأبعاد:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // سطر جديد بعد كل صف
}
challenge icon

التحدي

سهل

أنشئ دالة تُسمى printDiagonal تأخذ مصفوفة مربعة ثنائية الأبعاد (حيث يساوي عدد الصفوف عدد الأعمدة) وتطبع العناصر الموجودة على القطر الرئيسي (من أعلى اليسار إلى أسفل اليمين).

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

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

على سبيل المثال، عند إعطاء المصفوفة:

1 2 3 4 5 6 7 8 9

يجب أن تطبع الدالة: 1 5 9

جرّب بنفسك

#include <stdio.h>

// دالة لطباعة العناصر القطرية لمصفوفة مربعة
void printDiagonal(int matrix[][100], int size) {
    // اكتب كودك هنا
    
}

int main() {
    int size;
    scanf("%d", &size);
    
    int matrix[100][100];
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
    
    printDiagonal(matrix, size);
    
    return 0;
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals

تدرّب بنفسك: مترجم C عبر الإنترنت