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

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

المطلوب

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


الحل بلغة جافا

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int rows;
        int cols;
        int pCounter = 0;
        int nCounter = 0;
        int zCounter = 0;
        int[][] matrix;

        do {
            System.out.print("Enter rows number: ");
            rows = input.nextInt();
        }
        while (rows <= 0);
        
        do {
            System.out.print("Enter cols number: ");
            cols = input.nextInt();
        }
        while (cols <= 0);
        
        matrix = new int[rows][cols];
        
        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < cols; j++)
            {
                System.out.print("Enter matrix[" + i + "][" + j + "]: ");
                matrix[i][j] = input.nextInt();
            }
        }
        
        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++;
                }
            }
        }
      
        System.out.println("\nNumber of positive numbers: " + pCounter);
        System.out.println("Number of negative numbers: " + nCounter);
        System.out.println("Number of zeros: " + 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