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

تحديات برمجيةالتحدي الخامس - حل التمرين الخامس بلغة C++

المطلوب

أكتب برنامج يعرّف مصفوفة مربعة إسمها matrix تتألف من 3 أسطر و 3 أعمدة.
ثم يطلب من المستخدم إدخال قيم لها.
إنتبه: نريد هذه المصفوفة أن تحتوي فقط على قيم أكبر أو تساوي صفر.
ثم يعرض للمستخدم جميع القيم التي أصبحت تحتويها المصفوفة.
بعدها يقوم بجمع قيم جميع العناصر الموجودة على القطر ( On Diagonal ), فوق القطر ( Above Diagonal ), و تحت القطر ( Under Diagonal ).
في الأخير يعرض للمستخدم ناتج الجمع.


الحل بلغة C++

#include <iostream>

int main() {

    const int rows = 3;
    const int cols = 3;
    int matrix[3][3];

    int sumOnDiagonals = 0;
    int sumAboveDiagonals = 0;
    int sumUnderDiagonals = 0;

    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            std::cout << "Enter matrix[" << i << "][" << j << "]: ";
            std::cin >> matrix [i][j];
        }
    }

    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            if (j > i)
            {
                sumAboveDiagonals += matrix[i][j];
            }
            else if (j < i)
            {
                sumUnderDiagonals += matrix[i][j];
            }
            else
            {
                sumOnDiagonals += matrix[i][j];
            }
        }
    }

    std::cout << "\nNumber of elements above diagonals: " << sumAboveDiagonals;
    std::cout << "\nNumber of elements under diagonals: " << sumUnderDiagonals;
    std::cout << "\nNumber of elements on diagonals: " << sumOnDiagonals;

    char end; std::cin >> end;
    return 0;

}

سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.

Enter matrix[0][0]: 1
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

Sum of elements above diagonals: 11
Sum of elements under diagonals: 19
Sum of elements on diagonals: 15