Java >> Tutoriel Java >  >> Java

Programme Java pour déterminer si une matrice donnée est une matrice creuse

Dans ce tutoriel, nous allons apprendre à déterminer si une matrice donnée est une matrice creuse. Une matrice est dite creuse si la plupart des éléments de cette matrice sont 0. Mais avant d'aller plus loin, si vous n'êtes pas familier avec les concepts de tableau, alors consultez l'article Tableaux en Java.

Vous trouverez ci-dessous la représentation picturale de la même chose.

Saisie : Saisissez les éléments de la matrice :

1 4 0

0 0 0

4 0 0

Sortie : C'est une matrice creuse.

Programme 1 :Pour déterminer si la matrice donnée est une matrice creuse

Dans ce programme, nous apprendrons comment déterminer si une matrice donnée est une matrice creuse lorsque les valeurs sont définies par l'utilisateur. Ici, nous demanderons à l'utilisateur de saisir les valeurs, puis nous vérifierons si la matrice donnée est une matrice creuse ou non.

Algorithme

  1. Démarrer
  2. Déclarez des variables pour stocker la taille de la matrice.
  3. Demandez à l'utilisateur d'initialiser le nombre de lignes et de colonnes.
  4. Déclarez une matrice.
  5. Demandez à l'utilisateur d'initialiser les éléments de la matrice.
  6. Imprimer la matrice d'origine
  7. Déclarez une variable pour stocker la taille de la matrice.
  8. Déclarez une variable pour compter le nombre d'éléments 0 dans la matrice.
  9. Utilisez une boucle pour compter tous les éléments nuls.
  10. Incrémenter le nombre si 0 élément est trouvé.
  11. Vérifiez si le nombre est supérieur à la moitié de la taille.
  12. Si elle est supérieure, imprimez-la sous forme de matrice creuse.
  13. Sinon, print it is not a sparse matrix.
  14. Arrêtez.

Vous trouverez ci-dessous le code correspondant.

//Java Program to check whether the given matrix is sparse or not*/
import java.util.Scanner; 
public class Main 
{ 
    public static void main(String[] args) 
    { 
        // declare variables 
        int m, n;  
        // To take input from the user
        Scanner sc = new Scanner(System.in); 
        System.out.println("Enter the number of rows ");   
        // Initialize the number of rows 
        m = sc.nextInt();   
        System.out.println("Enter the number of columns ");  
        // Initialize the number of columns 
        n = sc.nextInt();   
        // declare a mxn order array 
        int a[][] = new int[m][n];   
        System.out.println("Enter all the values of matrix "); 
        // Initialize the matrix elements
        for (int i = 0; i < m; i++) 
        { 
            for (int j = 0; j < n; j++) 
            { 
                a[i][j] = sc.nextInt();                 
            } 
        }    
        System.out.println("Original Matrix:"); 
        // print the original matrix 
        for (int i = 0; i < m; i++) 
        { 
            for (int j = 0; j < n; j++) 
            { 
                    System.out.print(a[i][j] + " "); 
            } 
            System.out.println(""); 
        } 
        int size= m*n;   //Stores the size of the matrix 
        int count=0;    //Variable to check for the number of 0 elements        
        //Loop to count all zero element present in matrix    
        for(int i = 0; i < m; i++)
        {    
            for(int j = 0; j < n; j++)
            {    
                if(a[i][j] == 0)    //Check if element is 0 or not
                    count++;    //Increment the count if 0 element is found
            }    
        }        
        if(count>(size/2))
        System.out.println("It is a sparse matrix");
        else
        System.out.println("It is not a sparse matrix");           
    } 
}


Entrez le nombre de lignes 3
Entrez le nombre de colonnes 3
Entrez toutes les valeurs de la matrice 1 2 0 0 0 0 0 0 0
Matrice originale :
1 2 0
0 0 0
0 0 0
C'est une matrice creuse

Programme 2 :Pour déterminer si la matrice donnée est une matrice creuse

Dans ce programme, nous apprendrons comment déterminer si une matrice donnée est une matrice creuse lorsque les valeurs sont prédéfinies. Ici, les éléments de la matrice sont prédéfinis dans le programme. Ainsi, sur la base des valeurs de cette matrice, nous vérifierons si la matrice donnée est une matrice creuse ou non.

Algorithme

  1. Démarrer
  2. Déclarer et initialiser une matrice.
  3. Déclarez des variables pour stocker le nombre de lignes et de colonnes d'une matrice.
  4. Imprimez la matrice d'origine.
  5. Déclarez une variable pour stocker la taille de la matrice.
  6. Déclarez une variable pour compter le nombre d'éléments 0 dans la matrice.
  7. Utilisez une boucle pour compter tous les éléments nuls.
  8. Incrémenter le nombre si 0 élément est trouvé.
  9. Vérifiez si le nombre est supérieur à la moitié de la taille.
  10. Si elle est supérieure, imprimez-la sous forme de matrice creuse.
  11. Sinon, print it is not a sparse matrix.
  12. Arrêtez.

Vous trouverez ci-dessous le code correspondant.

//Java Program to check whether the given matrix is sparse or not*/
public class Main 
{ 
    public static void main(String[] args) 
    {         
        // declare and initialize a matrix 
        int a[][] = {{ 2, 9, 8 }, { 7, 6, 4 }, { 3, 9, 2 } };   
        int m=a.length;   //Stores the number of rows in a matrix
        int n=a[0].length;   //Stores the number of columns in a matrix 
         // print the original matrix 
        System.out.println("Original Matrix:"); 
        for (int i = 0; i < m; i++) 
        { 
            for (int j = 0; j < n; j++) 
            { 
                    System.out.print(a[i][j] + " "); 
            } 
            System.out.println(""); 
        }   
        int size= m*n;   //Stores the size of the matrix        
        int count=0;    //Variable to check for the number of 0 elements        
        //Loop to count all zero element present in matrix    
        for(int i = 0; i < m; i++)
        {    
            for(int j = 0; j < n; j++)
            {    
                if(a[i][j] == 0)    //Check if element is 0 or not
                    count++;    //Increment the count if 0 element is found            }    
        }        
        if(count>(size/2))
        System.out.println("It is a sparse matrix");
        else
        System.out.println("It is not a sparse matrix");           
    } 
}


Matrice originale :
2 9 8
7 6 4
3 9 2
Ce n'est pas une matrice creuse


Balise Java