تحديات برمجيةالتحدي الرابع - حل التمرين الأول بلغة C++
المطلوب
أكتب برنامج يطلب من المستخدم إعطائه عددين, العدد الأول يمثل عدد أسطر مصفوفة ثنائية ( ذات بعدين ) إسمها matrix
و العدد الثاني يمثل عدد أعمدتها.
ملاحظة: عدد أسطر و أعمدة المصفوفة يجب أن يكون أكبر من صفر.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
في الأخير, سيعرض للمستخدم جميع القيم المخزنة فيها بشكل مرتب.
الحل بلغة C++
int main() { int rows = 0; int cols = 0; int **matrix; do { std::cout << "Enter rows number: "; std::cin >> rows; } while (rows <= 0); do { std::cout << "Enter cols number: "; std::cin >> cols; } while (cols <= 0); matrix = new int *[rows]; for (int i = 0; i < rows; i++) { matrix[i] = new int[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"; } char end; std::cin >> end; return 0; }
سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.
Enter columns number: 3
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
matrix values
1 2 3
4 5 6