الانتقال إلى المحتوى الرئيسي

كيفية إنشاء وإعلان صفيف ثنائي الأبعاد

  • الدكتورة جوليا بنو شيبة
  • الأسئلة

المصفوفات ثنائية الأبعاد هي بنية بيانات مهمة ومستخدمة على نطاق واسع في البرمجة. تسمح لك بتخزين البيانات وتنظيمها في شكل جدول يتكون من صفوف وأعمدة. قد يبدو إنشاء مصفوفة ثنائية الأبعاد والإعلان عنها مهمة شاقة للمبتدئين ، ولكن في الواقع العملية بسيطة للغاية وتتطلب بعض المنطق.

أولا ، تحتاج إلى تحديد أبعاد المصفوفة ، أي عدد الصفوف والأعمدة. سيسمح لك ذلك بتعيين البنية الصحيحة للمصفوفة وضمان استخدامها الصحيح في المستقبل. على سبيل المثال ، إذا كنت بحاجة إلى إنشاء مصفوفة ثنائية الأبعاد 3 3 3 ، فسيكون لدينا 3 صفوف و 3 أعمدة.

أسهل طريقة لإنشاء مصفوفة ثنائية الأبعاد والإعلان عنها هي استخدام لغات البرمجة التي تدعم بنية البيانات هذه. تحتوي معظم اللغات الحديثة ، مثل سي++ وجافا وبايثون ، على آليات مدمجة لإنشاء المصفوفات والعمل معها. يتم ذلك عادة عن طريق تحديد نوع بيانات عناصر المصفوفة ، ثم تعيين قيمها كجدول.

على سبيل المثال ، في جافا ، يمكنك إنشاء وملء صفيف ثنائي الأبعاد على النحو التالي:

إنت [] [] مياراي = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

  1. كيف يمكنني إنشاء وملء مجموعة ثنائية الأبعاد?
  2. التعريف والإعلان
  3. ملء المصفوفة يدويا
  4. توليد قيم عشوائية
  5. تهيئة صفيف حسب الشرط
  6. أمثلة على استخدام مصفوفة ثنائية الأبعاد
  7. سؤال وجواب

كيف يمكنني إنشاء وملء مجموعة ثنائية الأبعاد?

المصفوفة ثنائية الأبعاد هي مصفوفة عناصرها عبارة عن مصفوفات أخرى. إنه جدول يتكون من صفوف وأعمدة. يحتوي كل عنصر من عناصر هذه المصفوفة على فهرسين-فهرس الصف وفهرس العمود.

لإنشاء مصفوفة ثنائية الأبعاد بلغة برمجة ، على سبيل المثال ، جافا سكريبت ، يمكنك استخدام بناء الجملة التالي:

مجموعة فار= [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

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

لملء مصفوفة ثنائية الأبعاد بالقيم ، يمكنك استخدام الحلقات أو تعيين القيم مباشرة.

مثال على ملء مصفوفة ثنائية الأبعاد باستخدام حلقة:

مجموعة فار = [];

صفوف فار = 3;

فار كولز = 3;

إلى عن على (فار أنا = 0 ؛ أنا < الصفوف ؛ أنا i) {

صفيف [أنا] = [];

إلى عن على (فار ي = 0 ؛ ي < كولز ؛ ي++) {

صفيف [أنا] [ي] = أنا * كولز + ي + 1;

}

}

في هذا المثال ، أنشأنا مصفوفة صفيف ثنائية الأبعاد وملأناها بقيم من 1 إلى 9 باستخدام حلقات متداخلة.

مثال على ملء مصفوفة ثنائية الأبعاد بالقيم مباشرة:

مجموعة فار= [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

في هذا المثال ، أنشأنا مصفوفة صفيف ثنائية الأبعاد وملأناها بالقيم عند الإعلان عن المصفوفة.

وبالتالي ، يمكن إنشاء مصفوفة ثنائية الأبعاد وملؤها بالقيم باستخدام حلقات متداخلة أو قيم معينة مباشرة عند الإعلان عن مصفوفة.

التعريف والإعلان

المصفوفة ثنائية الأبعاد هي مصفوفة تحتوي على مصفوفات أخرى كعناصرها. قد يكون عدد العناصر في كل من هذه المصفوفات الفرعية مختلفا. لإنشاء وإعلان مثل هذه المصفوفة في لغة برمجة جافا سكريبت ، يتم استخدام بناء الجملة التالي:

دعونا صفيف = [

[العنصر 1 ، العنصر 2 ، العنصر 3،...],

[العنصر 4 ، العنصر 5 ، العنصر 6،...],

[العنصر 7 ، العنصر 8 ، العنصر 9،...],

...

];

هنا الصفيف هو اسم المتغير الذي نستخدمه للوصول إلى هذه الصفيف. كل من المصفوفات الفرعية عبارة عن صف منفصل من مصفوفة ثنائية الأبعاد.

لفهم أفضل ، دعنا نتخيل مصفوفة ثنائية الأبعاد تخزن معلومات عن الطلاب:

اللقبالاسمالعمر
إيفانوفإيفان20
بتروفبيتر22
سيدوروفاماريا21

ستبدو هذه المصفوفة كما يلي:

السماح للطلاب = [

["إيفانوف" ، "إيفان" ، 20],

["بتروف" ، "بيتر" ، 22],

[سيدوروفا ، ماريا ، 21]

];

في هذه الحالة ، أنشأنا مجموعة ثنائية الأبعاد من الطلاب تحتوي على ثلاثة مصفوفات فرعية ، يصف كل منها معلومات حول طالب معين.

يمكن استخدام الفهارس للوصول إلى عناصر مصفوفة ثنائية الأبعاد. يبدأ ترقيم الفهارس من 0. على سبيل المثال ، للحصول على القيمة العمرية للطالب مع اللقب "بتروف" ، يجب عليك استخدام بناء الجملة التالي:

دع العمر = الطلاب[1][2]; // 22

هنا, الطلاب [1] يشير إلى الفئة الفرعية الثانية, والطلاب[1] [2] يشير إلى العنصر الثالث من الفئة الفرعية الثانية, هذا هو, عمر الطالب.

ملء المصفوفة يدويا

لإنشاء صفيف ثنائي الأبعاد وتعبئته يدويا ، تحتاج إلى اتباع عدة خطوات:

  1. قم بإنشاء مصفوفة ثنائية الأبعاد بحجم معين. على سبيل المثال:

كثافة العمليات [] [] صفيف = كثافة العمليات الجديدة [3] [3];

  1. باستخدام الحلقات ، انتقل من خلال كل عنصر من عناصر المصفوفة وقم بتعيين القيمة المطلوبة. على سبيل المثال:

صفيف [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;

  1. إذا لزم الأمر ، يمكنك استخدام الحلقات لملء الصفيف بشكل أكثر ملاءمة. على سبيل المثال:

عداد كثافة العمليات = 1;

ل (الباحث ط = 0; أنا < صفيف.الطول ؛ أنا {) {

ل (الباحث ي = 0 ؛ ي < صفيف [ط].الطول; ي j) {

صفيف [أنا] [ي] = عداد counter;

}

}

نتيجة لهذه الخطوات ، سيتم ملء المصفوفة بنجاح بالقيم المحددة.

توليد قيم عشوائية

يعد إنشاء قيم عشوائية مهمة مهمة عند العمل مع المصفوفات. تسمح لك القيم العشوائية بملء المصفوفات ببيانات مختلفة للمعالجة والتحليل اللاحقين.

لإنشاء قيم عشوائية في جافا سكريبت ، يمكنك استخدام الرياضيات.عشوائي () وظيفة. تقوم هذه الوظيفة بإرجاع رقم عشوائي من 0 (شامل) إلى 1 (حصري). للحصول على رقم عشوائي في النطاق الذي نحتاجه ، يمكننا استخدام الصيغة:

الرياضيات.الكلمة (الرياضيات.عشوائي () * (الحد الأقصى-الحد الأدنى + 1)) + الحد الأدنى

باستخدام هذه الصيغة ، يمكننا إنشاء عدد صحيح عشوائي في نطاق معين. على سبيل المثال ، لإنشاء رقم عشوائي من 1 إلى 10 ، يمكنك استخدام الكود التالي:

الرياضيات.الكلمة (الرياضيات.عشوائي() * (10 - 1 + 1)) + 1

إذا كنت بحاجة إلى إنشاء رقم عشوائي من النوع الحقيقي ، فيمكنك استخدام الصيغة التالية:

الرياضيات.عشوائي () * (الحد الأقصى - الحد الأدنى) + الحد الأدنى

الآن بعد أن عرفنا كيفية إنشاء قيم عشوائية ، يمكننا البدء في ملء مصفوفة ثنائية الأبعاد. للقيام بذلك ، يمكننا استخدام الحلقات المتداخلة.

مثال على توليد قيم عشوائية وملء مصفوفة ثنائية الأبعاد 3 3 3:

دعونا صفيف = [];

إلى عن على (دعني = 0 ؛ أنا < 3 ؛ أنا {) {

صفيف [أنا] = [];

إلى عن على (دع ي = 0 ؛ ي < 3 ؛ ي++) {

صفيف [أنا] [ي] = الرياضيات.الكلمة (الرياضيات.عشوائي() * (10 - 1 + 1)) + 1;

}

}

نتيجة لتنفيذ هذا الرمز ، سنحصل على مصفوفة ثنائية الأبعاد بقيم عشوائية في النطاق من 1 إلى 10.

توليد القيم العشوائية مفيد جدا عند إنشاء وملء صفائف ثنائية الأبعاد. يسمح لك بإنشاء مجموعة متنوعة من مجموعات البيانات للمعالجة والتحليل اللاحقين.

تهيئة صفيف حسب الشرط

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

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

الفهرسالمعنى
[0,0]0
[0,1]1
[1,0]2
[1,1]3

في هذا المثال ، يتم استخدام مصفوفة ثنائية الأبعاد 2 2 2. تعتمد قيمة كل عنصر على مؤشراته. يحتوي العنصر الصفري على فهارس [0 ، 0] ، والعنصر الأول هو [0 ، 1] ، والعنصر الثاني هو [1 ، 0] والعنصر الثالث هو [1 ، 1].

يمكن استخدام الحلقات لتهيئة صفيف حسب الشرط. على سبيل المثال ، في حالة وجود مصفوفة ثنائية الأبعاد ، يمكن استخدام الحلقات المتداخلة:

كثافة العمليات [] [] صفيف = كثافة العمليات الجديدة [2] [2];

ل (إنت أنا = 0 ؛ أنا < 2 ؛ أنا {) {

إلى عن على (الباحث ي = 0 ؛ ي < 2 ؛ ي++) {

صفيف [أنا] [ي] = أنا * 2 + ي;

}

}

في هذا المثال ، يتم استخدام مصفوفة ثنائية الأبعاد 2 2 2. يتم حساب قيم كل عنصر باستخدام الصيغة أنا * 2 + ي ، أين أنا و ي هي مؤشرات العناصر.

وبالتالي ، فإن تهيئة مصفوفة حسب الشرط تسمح لك بتعيين قيم العناصر بناء على فهارسها أو شروطها الأخرى ، والتي يمكن أن تكون مفيدة في تنفيذ الخوارزميات المختلفة ومهام البرمجة.

أمثلة على استخدام مصفوفة ثنائية الأبعاد

المصفوفة ثنائية الأبعاد هي بنية بيانات تخزن العناصر في شكل جدول يتكون من صفوف وأعمدة. يمكن استخدام هذا النوع من المصفوفة لحل المهام المختلفة.

1. تخزين بيانات الطالب.

يمكن استخدام مصفوفة ثنائية الأبعاد لتخزين المعلومات حول الطلاب ، حيث يمثل كل صف طالبا فرديا ، وتحتوي الأعمدة على بيانات حول جوانب مختلفة مثل الاسم والعمر ومتوسط درجة الصف. ستكون هذه المصفوفة ملائمة للاستخدام في البحث عن الطلاب أو فرزهم أو ترشيحهم وفقا لمعايير مختلفة.

2. الملعب لعبة تيك تاك تو.

يمكن استخدام مصفوفة ثنائية الأبعاد لإنشاء ملعب في لعبة تيك تاك تو. هنا ، يمثل كل عنصر من عناصر المصفوفة خلية منفصلة في الحقل ، ويمكن أن تشير القيم المختلفة للعناصر إلى الحرف الموجود في هذه الخلية. هذا يسمح لك لمراقبة مريح حالة الملعب, تحديد الفائز أو التحقق من إمكانية هذه الخطوة.

3. عمليات المصفوفة.

يمكن استخدام مصفوفة ثنائية الأبعاد لإجراء عمليات مصفوفة مختلفة مثل الجمع والضرب والتبديل. هذا مفيد بشكل خاص في الحسابات الرياضية والتطبيقات العلمية والهندسية.

4. العمل مع الصور.

يمكن تمثيل الصور في مصفوفة ثنائية الأبعاد من وحدات البكسل ، حيث يمثل كل عنصر من عناصر المصفوفة بكسل منفصل للصورة. يتيح لك ذلك إجراء عمليات معالجة صور مختلفة مثل تغيير الحجم والتصفية وتحويل مساحات الألوان.

سؤال وجواب