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

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

المطلوب

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


الحل بلغة C++

#include <iostream>
int main() {
int pCounter = 0;
int nCounter = 0;
int zCounter = 0;
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];
}
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
if (matrix[i][j] > 0)
{
pCounter++;
}
else if (matrix[i][j] < 0)
{
nCounter++;
}
else
{
zCounter++;
}
}
}
std::cout << "\nNumber of positive numbers: " << pCounter;
std::cout << "\nNumber of negative numbers: " << nCounter;
std::cout << "\nNumber of zeros: " << zCounter << "\n";
char end; std::cin >> end;
return 0;
}
#include <iostream> int main() { int pCounter = 0; int nCounter = 0; int zCounter = 0; 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]; } } for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if (matrix[i][j] > 0) { pCounter++; } else if (matrix[i][j] < 0) { nCounter++; } else { zCounter++; } } } std::cout << "\nNumber of positive numbers: " << pCounter; std::cout << "\nNumber of negative numbers: " << nCounter; std::cout << "\nNumber of zeros: " << zCounter << "\n"; char end; std::cin >> end; return 0; }

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

Enter rows number: 3
Enter cols number: 3
Enter matrix[0][0]: 1
Enter matrix[0][1]: 2
Enter matrix[0][2]: 0
Enter matrix[1][0]: 5
Enter matrix[1][1]: 0
Enter matrix[1][2]: -1
Enter matrix[2][0]: -2
Enter matrix[2][1]: 4
Enter matrix[2][2]: -3

Number of positive numbers: 4
Number of negative numbers: 3
Number of zeros: 2