تحديات برمجيةالتحدي الخامس - حل التمرين الرابع بلغة C#
المطلوب
أكتب برنامج يطلب من المستخدم إعطائه عددين, العدد الأول يمثل عدد أسطر مصفوفة ثنائية ( ذات بعدين ) إسمها matrix
و العدد الثاني يمثل عدد أعمدتها.
ملاحظة: عدد أسطر و أعمدة المصفوفة يجب أن يكون أكبر من صفر.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
في الأخير يعرض للمستخدم عدد العناصر التي تملك قيم أكبر من صفر, و عدد العناصر التي تملك قيم أصغر من صفر, و عدد العناصر التي تملك قيم تساوي صفر.
الحل بلغة C#
using System; class Program { static void Main(string[] args) { int rows; int cols; int pCounter = 0; int nCounter = 0; int zCounter = 0; int[,] matrix; do { Console.Write("Enter rows number: "); rows = int.Parse(Console.ReadLine()); } while (rows <= 0); do { Console.Write("Enter cols number: "); cols = int.Parse(Console.ReadLine()); } while (cols <= 0); matrix = new int[rows, cols]; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { Console.Write("Enter matrix[" + i + "][" + j + "]: "); matrix[i, j] = int.Parse(Console.ReadLine()); } } 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++; } } } Console.WriteLine("\nNumber of positive numbers: " + pCounter); Console.WriteLine("Number of negative numbers: " + nCounter); Console.WriteLine("Number of zeros: " + zCounter); Console.ReadKey(); } }
سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.
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