Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

أساسيات البرمجةالمصفوفات الثنائية - التمرين السادس

المطلوب

  1. أكتب برنامج يعرّف مصفوفة إسمها matrix تتألف من 3 أسطر و 3 أعمدة و فيها قيم جاهزة.
  2. بعدها يقوم بجمع قيم جميع العناصر الموجودة على القطر (On diagonal فوق القطر (Above diagonal و تحت القطر (Under diagonal).
  3. في الأخير يعرض للمستخدم ناتج الجمع.

إرشادات

لتمييز قيم العناصر الموجودة على القطر، فوق القطر و تحت القطر برمجياً عليك إستغلال مكان وجود العنصر في المصفوفة.

الآن ركز جيداً في الصورة و ستلاحظ أنه يمكنك تمييز مكان وجود العنصر بالنسبة للـقطر على النحو التالي:

  • إذا كان رقم السطر يساوي رقم العمود فهذا يعني أن العنصر موجود على القطر مثل العناصر التالية:
    matrix[0][0] - matrix[1][1] - matrix[2][2]
  • إذا كان رقم السطر أكبر من رقم العمود فهذا يعني أن العنصر موجود تحت القطر مثل العناصر التالية:
    matrix[1][0] - matrix[2][0] - matrix[2][1]
  • إذا كان رقم السطر أصغر من رقم العمود فهذا يعني أن العنصر موجود فوق القطر مثل العناصر التالية:
    matrix[0][1] - matrix[0][2] - matrix[1][2]

الحل

var matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

var SOD = 0;
var SAD = 0;
var SUD = 0;

for (var i=0; i<matrix.length; i++)
{
    for (var j=0; j<matrix[i].length; j++)
    {
        if (i == j)
        {
            SOD = SOD + matrix[i][j];
        }
        else if (i < j)
        {
            SAD = SAD + matrix[i][j];
        }
        else if (i > j)
        {
            SUD = SUD + matrix[i][j];
        }
    }
}

write("Sum of elements above the diagonal = " + SAD + "\n");
write("Sum of elements under the diagonal = " + SUD + "\n");
write("Sum of elements on the diagonal = " + SOD);

ستحصل على النتيجة التالية عند التشغيل في حال كانت المصفوفة الثنائية تحتوي على نفس القيم التي وضعناها.

Sum of elements above the diagonal = 11
Sum of elements under the diagonal = 19
Sum of elements on the diagonal = 15

جرب الكود


شرح الكود

الفيديو التالي يشرح طريقة عمل الكود خطوة خطوة.