المصفوفات متعددة الأبعاد
جزء من قسم 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"); // سطر جديد بعد كل صف
}التحدي
سهلأنشئ دالة تُسمى printDiagonal تأخذ مصفوفة مربعة ثنائية الأبعاد (حيث يساوي عدد الصفوف عدد الأعمدة) وتطبع العناصر الموجودة على القطر الرئيسي (من أعلى اليسار إلى أسفل اليمين).
يجب أن تقوم الدالة بما يلي:
- تأخذ مصفوفة من الأعداد الصحيحة وحجمها كمعاملين.
- تطبع كل عنصر على القطر الرئيسي (حيث يساوي فهرس الصف فهرس العمود).
- تفصل بين كل عنصر ومسافة.
على سبيل المثال، عند إعطاء المصفوفة:
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;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
2المتغيرات
أنواع البياناتالأعداد الصحيحة (Integer)الأعداد العشرية (Float - Double)المحارف (Characters)القيم المنطقية (Booleans)الثوابتأساسيات printfقواعد تسمية المتغيراتتحويل الأنواع (Type Casting) - الجزء 1تحويل الأنواع (Type Casting) - الجزء 2تحدي المراجعة5الإدخال والإخراج
محددات التنسيقأساسيات scanfتحدي المراجعة رقم 1التحقق من صحة الإدخالتحدي المراجعة رقم 28المصفوفات
تعريف المصفوفاتالوصول إلى العناصرتعديل العناصرالمصفوفات متعددة الأبعادتحدي المراجعة رقم 1المصفوفات كمعاملات للدوالخوارزميات المصفوفاتتحدي المراجعة رقم 23المعاملات
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانمعاملات الإسنادالمعاملات العلائقيةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيالمعاملات المنطقية - الجزء الثالثتحدي المراجعةتدرّب بنفسك: مترجم C عبر الإنترنت