المصفوفات الثنائية في البرمجة - التمرين الرابع
المطلوب
- أكتب برنامج يعرّف مصفوفة إسمها
matrixتتألف من 3 أسطر و 3 أعمدة. - ثم يطلب من المستخدم إدخال قيم في جميع عناصرها.
- ثم يعرض للمستخدم ناتج جمع قيم العناصر الموجودة في كل عمود فيها.
إرشادات
الصورة التالية توضح كيف يجب أن يتم جمع القيم الموجودة في كل عمود.
الحل التالي هو نفسه تماماً الحل الموضوع للتمرين الثالث مع إجراء تعديل بسيط عليه حيث كتبنا matrix[j][i] بدلاً من matrix[i][j] في الحلقة الأخيرة مما جعلنا نمر على قيم المصفوفة عموداً عموداً بدلاً من سطراً سطراً.
الحل الأول
var matrix = array(3, 3); var sum; for (var i=0; i<matrix.length; i++) { for (var j=0; j<matrix[i].length; j++) { write("Enter matrix[" + i + "][" + j + "]: "); matrix[i][j] = read(); } write("\n"); } for (var j=0; j<matrix[0].length; j++) { sum = 0; for (var i=0; i<matrix.length; i++) { sum = sum + matrix[j][i]; } write("The sum of elements in column " + j + " = " + sum + "\n"); }
النتيجة: ستكون كما يلي في حال تم إدخال نفس القيم التي قمنا بإدخالها وقت التشغيل.
Enter matrix[0][1]: 2
Enter matrix[0][2]: 3
Enter matrix[1][0]: 4
Enter matrix[1][1]: 5
Enter matrix[1][2]: 6
Enter matrix[2][0]: 7
Enter matrix[2][1]: 8
Enter matrix[2][2]: 9
The sum of elements in column 0 = 12
The sum of elements in column 1 = 15
The sum of elements in column 2 = 18
فيما يلي حل آخر، اتبعنا فيه حل آخر عند المرور على القيم الموجودة في كل عمود حيث وضعنا الحلقة التي فيها العدّاد j من الخارج و الحلقة التي فيها العدّاد i من الداخل و استخدمنا matrix[i][j] كما نفعل في العادة.
الحل الثاني
var matrix = array(3, 3); var sum; for (var i=0; i<matrix.length; i++) { for (var j=0; j<matrix[i].length; j++) { write("Enter matrix[" + i + "][" + j + "]: "); matrix[i][j] = read(); } write("\n"); } for (var j=0; j<matrix[0].length; j++) { sum = 0; for (var i=0; i<matrix.length; i++) { sum = sum + matrix[i][j]; } write("The sum of elements in column " + j + " = " + sum + "\n"); }
النتيجة: ستكون كما يلي في حال تم إدخال نفس القيم التي قمنا بإدخالها وقت التشغيل.
Enter matrix[0][1]: 2
Enter matrix[0][2]: 3
Enter matrix[1][0]: 4
Enter matrix[1][1]: 5
Enter matrix[1][2]: 6
Enter matrix[2][0]: 7
Enter matrix[2][1]: 8
Enter matrix[2][2]: 9
The sum of elements in column 0 = 12
The sum of elements in column 1 = 15
The sum of elements in column 2 = 18