المصفوفات ثنائية الأبعاد في لغة البرمجة سي هي أداة مهمة للعمل مع كميات كبيرة من البيانات. وهي عبارة عن جدول يحتوي على عناصر مرتبة في صفوف وأعمدة. التهيئة المناسبة لصفيف ثنائي الأبعاد هي جزء لا يتجزأ من استخدامه.
يمكن إجراء تهيئة مصفوفة ثنائية الأبعاد في لغة ج بطرق مختلفة. تتمثل إحدى أبسط الطرق في تحديد كل عنصر من عناصر المصفوفة بشكل صريح عند الإعلان عنه. على سبيل المثال ، لإنشاء مصفوفة ثنائية الأبعاد 3 3 3 ، يمكننا استخدام الكود التالي:
{7, 8, 9}
- };
- في هذا المثال ، أعلنا وتهيئة صفيف صفيف ثنائي الأبعاد. يتم وضع كل صف من المصفوفة بين قوسين معقوفين ، ويتم فصل العناصر بفاصلة. وبالتالي ، يحتوي الصف الأول من المصفوفة على القيم 1 و 2 و 3 ، والثاني — 4 و 5 و 6 ، والثالث — 7 و 8 و 9.
- كيفية إنشاء مصفوفة ثنائية الأبعاد في ج
- تعريف مصفوفة ثنائية الأبعاد في لغة البرمجة سي
- ملامح تهيئة مصفوفة ثنائية الأبعاد في ج
- تهيئة مصفوفة ثنائية الأبعاد باستخدام الحلقات في ج
- تهيئة مصفوفة ثنائية الأبعاد عند التصريح في ج
تهيئة مصفوفة ثنائية الأبعاد باستخدام المؤشرات في ج
أمثلة على تهيئة مصفوفة ثنائية الأبعاد في ج
1
2
3
4
5
6
7
8
9
10
11
12
الوصول إلى عناصر المصفوفة: تستخدم الفهارس للوصول إلى عناصر مصفوفة ثنائية الأبعاد. تبدأ الفهرسة من 0. على سبيل المثال ، للوصول إلى عنصر في الموضع (2 ، 3) في المصفوفة ، تحتاج إلى الكتابة:
صفيف ثنائي الأبعاد [1] [2];
.
وبالتالي ، فإن إنشاء وتهيئة مصفوفة ثنائية الأبعاد في ج أمر بسيط للغاية ويسمح لك بالعمل مع البيانات في شكل جدول مناسب.
تعريف مصفوفة ثنائية الأبعاد في لغة البرمجة سي
المصفوفة ثنائية الأبعاد هي نوع بيانات خاص في لغة البرمجة سي ، وهي مصفوفة من القيم. يتكون من صفوف وأعمدة ، حيث يكون لكل عنصر إحداثياته الخاصة — رقم الصف ورقم العمود.
تعريف صفيف ثنائي الأبعاد في ج يبدأ بتحديد نوع البيانات والبعد. على سبيل المثال ، لتحديد مصفوفة 3 3 3 تحتوي على قيم عدد صحيح ، يمكنك استخدام بناء الجملة التالي:
صفيف كثافة العمليات [3][3];
في هذه الحالة ، نعلن صفيف مع اسم " صفيف "من نوع" كثافة العمليات " والبعد من 3 3 3. هذا يعني أن المصفوفة ستحتوي على 3 صفوف و 3 أعمدة.
يمكنك أيضا تهيئة مصفوفة ثنائية الأبعاد عند تحديدها. باستخدام الأقواس المتعرجة والفواصل ، يمكنك تحديد قيم عناصر المصفوفة. على سبيل المثال:
صفيف كثافة العمليات [3] [3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
في هذا المثال ، نقوم بتهيئة المصفوفة "صفيف" بقيم من 1 إلى 9 بالترتيب المشار إليه بين قوسين معقوفين. في هذه الحالة ، يمثل كل قوس مجعد صفا ، وتمثل العناصر المفصولة بفواصل القيم في الأعمدة.
يمكن أيضا تهيئة صفيف ثنائي الأبعاد سطرا بسطر ، مع تحديد كل عنصر على حدة. على سبيل المثال:
صفيف كثافة العمليات [3][3];
صفيف [0] [0] = 1;
صفيف [0] [1] = 2;
صفيف [0] [2] = 3;
صفيف [1] [0] = 4;
صفيف [1] [1] = 5;
صفيف [1] [2] = 6;
صفيف [2] [0] = 7;
صفيف [2] [1] = 8;
صفيف [2] [2] = 9;
في هذا المثال ، نحدد صفيف" صفيف " بدون تهيئة ونحدد كل قيمة من قيمها بشكل منفصل باستخدام فهارس الصفوف والأعمدة.
عند العمل مع المصفوفات ثنائية الأبعاد ، من المهم أن تتذكر أن فهارس العناصر تبدأ من 0 وليس 1. وبالتالي ، يقع العنصر الأول من المصفوفة في الفهرس [0][0] ، والثاني في الفهرس [0][1] ، وهكذا.
المصفوفات ثنائية الأبعاد في ج تجعل من الممكن تخزين البيانات ومعالجتها بكفاءة في شكل مصفوفة. يتم استخدامها على نطاق واسع في مختلف مجالات البرمجة ، بما في ذلك الحسابات الرياضية ومعالجة الصور والعمل مع الجداول.
ملامح تهيئة مصفوفة ثنائية الأبعاد في ج
المصفوفة ثنائية الأبعاد هي بنية بيانات عبارة عن جدول يتكون من صفوف وأعمدة. يحتوي كل عنصر من عناصر المصفوفة ثنائية الأبعاد على فهرسين: فهرس الصف وفهرس العمود. في ال لغة البرمجة ج ، يمكن إجراء تهيئة مصفوفة ثنائية الأبعاد بطرق مختلفة.
1. تعيين قيم عناصر المصفوفة يدويا:
صفيف كثافة العمليات[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
في هذا المثال ، نقوم بإنشاء مصفوفة ثنائية الأبعاد 3 3 3 وتعيين قيم كل عنصر عند الإعلان عنه. تشير الأقواس المربعة إلى أننا نتعامل مع مصفوفة ثنائية الأبعاد ، وتشير الأقواس المتعرجة إلى تنسيق تهيئة قيم العناصر.
2. استخدم الحلقات المتداخلة لملء القيم:
صفيف كثافة العمليات [3][3];
عداد كثافة العمليات = 1;
ل (إنت أنا = 0; أنا < 3 ؛ أنا {) {
إلى عن على (الباحث ي = 0 ؛ ي < 3 ؛ ي++) {
صفيف [أنا] [ي] = عداد;
counter++;
}
}
في هذا المثال ، نقوم بإنشاء مصفوفة ثنائية الأبعاد 3 3 3 واستخدام حلقات متداخلة لملء قيمها. نعلن متغير العداد ، الذي يمثل قيمة كل عنصر ، وزيادته بعد كل تكرار للحلقة.
3. باستخدام المؤشرات:
صفيف كثافة العمليات[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
في هذا المثال ، نقوم بإنشاء مصفوفة ثنائية الأبعاد 3 3 3 واستخدام المؤشرات لتعيين قيم العناصر. لاحظ أن قيم عناصر المصفوفة يتم تمريرها بترتيب أحادي البعد.
4. باستخدام نهج "نقل السلسلة" :
صفيف كثافة العمليات[][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
في هذا المثال ، نقوم بإنشاء مصفوفة ثنائية الأبعاد دون تحديد حجم السلسلة بين قوسين مربعين. سيقوم المترجم تلقائيا بتحديد حجم السلسلة بناء على تهيئة القيم.
5. استخدام سلاسل متعددة للتهيئة:
صفيف كثافة العمليات[3][3] = { {1, 2, 3}, {4, 5, 6} };
في هذا المثال ، نقوم بإنشاء مصفوفة ثنائية الأبعاد 3 3 3 وتهيئتها بصفين فقط من القيم. سيتم تهيئة العناصر المتبقية تلقائيا مع القيم الافتراضية (الأصفار ل إنت).
| بعد دراسة هذه الأساليب المختلفة ، يمكنك اختيار الخيار الأكثر ملاءمة لتهيئة مصفوفة ثنائية الأبعاد في لغة البرمجة سي ، حسب احتياجاتك. | تهيئة مصفوفة ثنائية الأبعاد باستخدام الحلقات في ج | في ال لغة البرمجة ج ، يمكن تهيئة المصفوفات ثنائية الأبعاد بطرق مختلفة. واحدة من هذه الطرق هي استخدام الحلقات. |
| لتهيئة مصفوفة ثنائية الأبعاد باستخدام الحلقات ، يمكننا استخدام الحلقات المتداخلة. سيتم تشغيل حلقة واحدة من خلال صفوف المصفوفة ، وسيتم تشغيل الحلقة الثانية من خلال عناصر كل صف. | مثال على تهيئة مصفوفة ثنائية الأبعاد باستخدام الحلقات: | صفيف كثافة العمليات [3][3]; |
| قيمة كثافة العمليات = 0; | إلى عن على (كثافة العمليات أنا = 0; أنا < 3; أنا i) { | إلى عن على (الباحث ي = 0 ؛ ي < 3 ؛ ي++) { |
صفيف [أنا] [ي] = القيمة;
قيمة++;
}
}
- في هذا المثال ، يتم إنشاء صفيف صفيف ثنائي الأبعاد بحجم 3 في 3. بعد ذلك ، باستخدام الحلقات المتداخلة ، يتم تعيين قيمة متغير القيمة لكل عنصر من عناصر المصفوفة ، والتي يتم زيادتها عند كل تكرار.
بعد تنفيذ الكود المحدد ، سيتم تهيئة المصفوفة على النحو التالي:
0
1
2
3
4
5
6
7
8
وبالتالي ، باستخدام الحلقات ، يمكننا بسهولة تهيئة المصفوفات ثنائية الأبعاد في لغة البرمجة سي. هذه الطريقة مفيدة بشكل خاص عند العمل مع المصفوفات الكبيرة.
تهيئة مصفوفة ثنائية الأبعاد عند التصريح في ج
تتمثل إحدى طرق تهيئة مصفوفة ثنائية الأبعاد عند التصريح بلغة البرمجة ج في تعيين قيم عناصر المصفوفة باستخدام القيم الحرفية أو المتغيرات.
بناء الجملة لتهيئة مصفوفة ثنائية الأبعاد هو كما يلي:
نوع بيانات اسم المصفوفة[الحجم الأول] [الحجم الثاني] = { {القيمة 1, القيمة 2, ...}, {القيمة 1, القيمة 2,...}, ...};
لنلق نظرة على مثال لتهيئة مصفوفة 3 3 3 باستخدام القيم الحرفية:
# تشمل
كثافة العمليات الرئيسية () {
صفيف كثافة العمليات[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
إلى عن على (كثافة العمليات أنا = 0; أنا < 3; أنا i) {
إلى عن على (الباحث ي = 0 ؛ ي < 3 ؛ ي++) {
برينتف ("٪د " ، صفيف [أنا] [ي]);
}
برينتف("
");
}
العودة 0;
}
نتيجة لتنفيذ هذا الرمز ، سيتم إخراج ما يلي:
1 2 3
4 5 6
7 8 9
يمكنك أيضا استخدام المتغيرات لتهيئة مصفوفة ثنائية الأبعاد. على سبيل المثال:
# تشمل
كثافة العمليات الرئيسية () {
الباحث أ = 1 ، ب = 2 ، ج = 3;
كثافة العمليات س = 4 ، ص = 5 ، ض = 6;
كثافة العمليات م = 7 ، ن = 8 ، س = 9;
صفيف كثافة العمليات[3][3] = { {أ ، ب ، ج} ، {س ، ص ، ض} ، {م ، ن ، س} };
إلى عن على (كثافة العمليات أنا = 0; أنا < 3; أنا i) {
إلى عن على (الباحث ي = 0 ؛ ي < 3 ؛ ي++) {
برينتف ("٪د " ، صفيف [أنا] [ي]);
}
برينتف("
");
}
العودة 0;
}
ستكون نتيجة تنفيذ هذا الرمز مطابقة للمثال السابق:
1 2 3
4 5 6
7 8 9
من المهم ملاحظة أنه إذا كان عدد قيم التهيئة أقل من حجم الصفيف ، فسيتم تهيئة العناصر المتبقية إلى 0 إذا كان الصفيف يحتوي على نوع بيانات كثافة العمليات. عند تهيئة مصفوفة بنوع بيانات مختلف ، ستحتوي العناصر غير المهيأة على قيم افتراضية لنوع البيانات هذا.
في هذه المقالة ، اعتبرنا مثالا على تهيئة مصفوفة ثنائية الأبعاد عند إعلانها بلغة البرمجة سي باستخدام القيم الحرفية والمتغيرات.
تهيئة مصفوفة ثنائية الأبعاد باستخدام المؤشرات في ج
في لغة البرمجة سي ، يمكنك تهيئة مصفوفة ثنائية الأبعاد باستخدام المؤشرات. للقيام بذلك ، قم بإنشاء مؤشر إلى مؤشر وتخصيص ذاكرة لكل صف من المصفوفة.
يوجد أدناه مثال على تهيئة مصفوفة ثنائية الأبعاد باستخدام المؤشرات:
# تشمل
كثافة العمليات الرئيسية () {
الصفوف كثافة العمليات = 3 ؛ / / عدد الصفوف
عدد الأعمدة = 4 ؛ / / عدد الأعمدة
إنت * * ماتريكس = (إنت **)مالوك (الصفوف * سيزوف (إنت*)) ؛ / / تخصيص الذاكرة لمؤشرات الصف
// تخصيص الذاكرة لكل سطر
ل (إنت أنا = 0 ؛ أنا < الصفوف ؛ أنا i) {
ماتريكس [أنا] = (إنت *)مالوك(كولز * سيزوف (إنت));
}
// تهيئة قيم الصفيف
ل (إنت أنا = 0 ؛ أنا < الصفوف ؛ أنا i) {
إلى عن على (الباحث ي = 0 ؛ ي < الأعمدة ؛ ي j) {
مصفوفة [أنا] [ي] = أنا * كولز + ي;
}
}
// إخراج قيم الصفيف
ل (إنت أنا = 0 ؛ أنا < الصفوف ؛ أنا i) {
إلى عن على (الباحث ي = 0 ؛ ي < الأعمدة ؛ ي j) {
برينتف ("٪د " ، مصفوفة[ط][ي]);
}
برينتف("
");
}
// تحرير الذاكرة
ل (إنت أنا = 0 ؛ أنا < الصفوف ؛ أنا i) {
مجانا (مصفوفة [أنا]);
}
مجانا (مصفوفة);
العودة 0;
}
في هذا المثال ، يتم إنشاء مصفوفة ثنائية الأبعاد 3 4 4. للقيام بذلك ، يتم تخصيص الذاكرة أولا للمؤشرات إلى سلاسل باستخدام وظيفة مالوك (). ثم ، لكل صف ، يتم تخصيص الذاكرة للأعمدة. تتم تهيئة قيم الصفيف باستخدام حلقات متداخلة ، ثم يتم عرضها على الشاشة. أخيرا ، يتم تحرير الذاكرة باستخدام الوظيفة المجانية ().
تتيح تهيئة مصفوفة ثنائية الأبعاد مع المؤشرات استخداما أكثر كفاءة لموارد الذاكرة وتوفر المرونة عند العمل مع صفائف ذات حجم متغير.
أمثلة على تهيئة مصفوفة ثنائية الأبعاد في ج
في ال لغة البرمجة سي ، يمكن استخدام طرق مختلفة لتهيئة مصفوفة ثنائية الأبعاد. لنلق نظرة على بعض الأمثلة:
مثال 1: تهيئة صفيف مع الافتراضي
قيم أر[3][3] = {{0, 0, 0},