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 أعمدة.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
بعدها يعرض للمستخدم جميع القيم التي أصبحت تحتويها بشكل مرتب.
بعدها يقوم بتخزين جميع القيم الموجودة في المصفوفة matrix بداخل مصفوفة أحادية ( ذات بعد واحد ) إسمها array.
في الأخير, يعرض للمستخدم جميع القيم التي أصبحت تحتويهم المصفوفة array على سطر واحد مع وضع مسافة فارغة بين كل قيمتين.


الحل بلغة C++

#include <iostream>

int main() {

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

    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];
        }
    }

    std::cout << "\nMatrix values\n";

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

    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            array[j + (i * cols)] = matrix[i][j];
        }
    }

    std::cout << "\nArrays values\n";

    for (int i = 0; i < rows * cols; i++)
    {
        std::cout << array[i] << " ";
    }

    std::cout << "\n";

    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

Matrix values
1 2 3
4 5 6
7 8 9

Array values
1 2 3 4 5 6 7 8 9