recent
أخبار ساخنة

المصفوفات الثنائية في البرمجة

المصفوفات الثنائية في البرمجة


المصفوفات ثنائية الأبعاد (Two-Dimensional Arrays) في البرمجة

تُعتبر المصفوفات ثنائية الأبعاد (Two-Dimensional Arrays) من هياكل البيانات المهمة في البرمجة، حيث تسمح بتخزين البيانات على شكل صفوف وأعمدة، تمامًا كما في الجداول الإلكترونية. وتُستخدم عندما نحتاج إلى تنظيم البيانات بطريقة أكثر تعقيدًا من المصفوفات أحادية البعد.

تتوفر المصفوفات ثنائية الأبعاد في معظم لغات البرمجة مثل JavaScript وPython وJava وC++، وتُستخدم في العديد من التطبيقات مثل الألعاب، والجداول، وقواعد البيانات، ومعالجة الصور.

ما هي المصفوفة ثنائية الأبعاد؟

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

مثال

let matrix = [

    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]

];

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

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

  • تنظيم البيانات على شكل جداول.
  • تمثيل الخرائط والألعاب.
  • تخزين درجات الطلاب.
  • معالجة الصور الرقمية.
  • التعامل مع البيانات متعددة الصفوف والأعمدة.

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

let students = [

    ["أحمد", "محمد", "علي"],
    ["سارة", "نور", "ريم"]

];

تمثيلها

أحمد   محمد   علي
سارة   نور    ريم

الوصول إلى العناصر

للوصول إلى عنصر معين نستخدم:

أحمد   محمد   عليarray[row][column]

مثال

let matrix = [

    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]

];

console.log(matrix[0][1]);

النتيجة 2

مثال آخر

console.log(matrix[2][0]);

النتيجة 7

تعديل عنصر داخل المصفوفة

matrix[1][2] = 100;

console.log(matrix);

النتيجة

[
  [1, 2, 3],
  [4, 5, 100],
  [7, 8, 9]
]

معرفة عدد الصفوف

console.log(matrix.length);

النتيجة 3

معرفة عدد الاعمدة

console.log(matrix[0].length);

النتيجة 3

استخدام الحلقات المتداخلة

غالبًا ما تُستخدم الحلقات المتداخلة للتعامل مع المصفوفات ثنائية الأبعاد.

for(let i = 0; i < matrix.length; i++) {

    for(let j = 0; j < matrix[i].length; j++) {

        console.log(matrix[i][j]);

    }

}

النتيجة

1
2
3
4
5
6
7
8
9

مثال عملي: عرض جدول درجات الطلاب

let grades = [

    [85, 90, 78],
    [92, 88, 95],
    [70, 80, 75]

];

for(let i = 0; i < grades.length; i++) {

    console.log("درجات الطالب رقم " + (i + 1));

    for(let j = 0; j < grades[i].length; j++) {

        console.log(grades[i][j]);

    }

}

مثال عملي: حساب مجموع العناصر

let matrix = [

    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]

];

let sum = 0;

for(let i = 0; i < matrix.length; i++) {

    for(let j = 0; j < matrix[i].length; j++) {

        sum += matrix[i][j];

    }

}

console.log(sum);

النتيجة 45

مثال عملي: البحث عن قيمة

let matrix = [

    [10, 20, 30],
    [40, 50, 60]

];

let found = false;

for(let i = 0; i < matrix.length; i++) {

    for(let j = 0; j < matrix[i].length; j++) {

        if(matrix[i][j] === 50) {

            found = true;

        }

    }

}

console.log(found);

النتيجة true

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

تُستخدم في: 

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

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

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

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

المصفوفة أحادية البعد أبسط في الاستخدام اما المصفوفة ثنائية الأبعاد أكثر تنظيمًا للبيانات المعقدة

المصفوفة أحادية البعد مناسبة للقوائم اما المصفوفة ثنائية الأبعاد مناسبة للجداول

تُعد المصفوفات ثنائية الأبعاد (Two-Dimensional Arrays) من الأدوات المهمة في البرمجة، لأنها تسمح بتنظيم البيانات على شكل صفوف وأعمدة بطريقة تشبه الجداول. ومن خلال فهم كيفية إنشاء هذه المصفوفات والوصول إلى عناصرها والتعامل معها باستخدام الحلقات المتداخلة، يصبح بإمكان المبرمج بناء تطبيقات أكثر قوة وتنظيمًا، خاصة عند التعامل مع البيانات المعقدة والألعاب والأنظمة التعليمية. لذلك فإن إتقان المصفوفات ثنائية الأبعاد يُعد خطوة أساسية نحو تطوير مهارات البرمجة بشكل احترافي.

google-playkhamsatmostaqltradentX