Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals 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);
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

جرب الكود


شرح الكود

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

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة