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