المطلوب
أكتب برنامج يطلب من المستخدم إعطائه عددين, العدد الأول يمثل عدد أسطر مصفوفة ثنائية ( ذات بعدين ) إسمها matrix و العدد الثاني يمثل عدد أعمدتها.
ملاحظة: عدد أسطر و أعمدة المصفوفة يجب أن يكون أكبر من صفر.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
في الأخير يعرض للمستخدم عدد العناصر التي تملك قيم أكبر من صفر, و عدد العناصر التي تملك قيم أصغر من صفر, و عدد العناصر التي تملك قيم تساوي صفر.
الحل بلغة C
#include <stdio.h>
void main() {
int pCounter = 0;
int nCounter = 0;
int zCounter = 0;
int rows = 0;
int cols = 0;
do
{
printf("Enter rows number: ");
scanf("%d", &rows);
}
while (rows <= 0);
do
{
printf("Enter cols number: ");
scanf("%d", &cols);
}
while (cols <= 0);
int matrix[rows][cols];
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
printf("Enter matrix[%d][%d]: ", i, j);
scanf("%d", &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++;
}
}
}
printf("\nNumber of positive numbers: %d", pCounter);
printf("\nNumber of negative numbers: %d", nCounter);
printf("\nNumber of zeros: %d", zCounter);
}
سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.
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
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


محرر الويب
نظام الألوان
محول الوحدات
محلل عناوين الشبكات