الخوارزميات و هياكل البيانات التحدي الرابع - حل التمرين الأول بلغة C++

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عددين, العدد الأول يمثل عدد أسطر مصفوفة ثنائية ( ذات بعدين ) إسمها matrix و العدد الثاني يمثل عدد أعمدتها.
ملاحظة: عدد أسطر و أعمدة المصفوفة يجب أن يكون أكبر من صفر.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
في الأخير, سيعرض للمستخدم جميع القيم المخزنة فيها بشكل مرتب.


الحل بلغة C++

#include <iostream>

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 rows number: 2
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

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة