Java >> Tutoriel Java >  >> Java

Programme Java pour ajouter deux matrices M * N à partir de l'entrée de l'utilisateur

Dans ce didacticiel, nous allons apprendre à ajouter deux matrices M * N à partir d'une entrée utilisateur. Mais avant d'aller plus loin, si vous n'êtes pas familier avec les concepts du tableau, alors consultez l'article Tableaux en Java.

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

Saisie :

Entrez le nombre de lignes dans la première matrice :3

Entrez le nombre de colonnes dans la première matrice :3

Saisissez le nombre de lignes dans la seconde matrice :3

Saisissez le nombre de lignes dans la seconde matrice :3

Saisissez tous les éléments de la première matrice :1 2 3 4 5 6 7 8 9

Entrez tous les éléments de la deuxième matrice :9 8 7 6 5 4 3 2 1

Sortie :

Première matrice :

1 2 3

4 5 6

7 8 9

Deuxième matrice :

9 8 7

6 5 4

3 2 1

Matrice résultante :

10 10 10

10 10 10

10 10 10

Programme 1 :Ajouter une matrice M*N à partir de l'entrée utilisateur

Dans ce programme, nous allons effectuer une addition matricielle. L'ajout d'une matrice n'est possible que lorsque les matrices données sont de la même taille, c'est-à-dire que le nombre de lignes et de colonnes des deux matrices doit être le même.

Algorithme

  1. Démarrer
  2. Déclarer des variables pour la taille de la matrice
  3. Initialiser le nombre de lignes et de colonnes pour la première matrice.
  4. Initialiser le nombre de lignes et de colonnes pour la deuxième matrice.
  5. Vérifiez si la taille des deux matrices est égale ou non.
  6. Si égal, demander à l'utilisateur d'initialiser les deux matrices.
  7. Après l'initialisation, imprimez les deux matrices.
  8. Créer une nouvelle matrice pour stocker la somme des deux matrices.
  9. Parcourez chaque élément des deux matrices et additionnez-les.
  10. Stocker cette somme dans la nouvelle matrice à l'index correspondant.
  11. Renvoyer la matrice résultante.
  12. Imprimez la matrice résultante.
  13. Si les tailles des deux matrices ne sont pas égales, imprimez un message pour réessayer.
  14. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

/*Java Program to add two matrix*/
import java.util.Scanner;
public class Main
{
    public static void main(String[] args) 
    {
        int p, q, m, n;    //Declare matrix size
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the number of rows in the first matrix:");
        p = sc.nextInt();    //Initialize first matrix size
        System.out.print("Enter the number of columns in the first matrix:");
        q = sc.nextInt();   //Initialize first matrix size
        System.out.print("Enter the number of rows in the second matrix:");
        m = sc.nextInt();   //Initialize second matrix size
        System.out.print("Enter the number of columns in the second matrix:");
        n = sc.nextInt();   //Initialize second matrix size
        if (p == m && q == n) 
        {
            int a[][] = new int[p][q];    //Declare first matrix
            int b[][] = new int[m][n];    //Declare second matrix
            int c[][] = new int[m][n];    //Declare third matrix
            //Initialize the first matrix
            System.out.println("Enter all the elements of first matrix:");
            for (int i = 0; i < p; i++) 
            {
                for (int j = 0; j < q; j++) 
                {
                    a[i][j] = sc.nextInt();
                }
            }
            System.out.println("");
            //Initialize the second matrix
            System.out.println("Enter all the elements of second matrix:");
            for (int i = 0; i < m; i++) 
            {
                for (int j = 0; j < n; j++) 
                {
                    b[i][j] = sc.nextInt();
                }
            }
            System.out.println("");
            //Print the first matrix
            System.out.println("First Matrix:");
            for (int i = 0; i < p; i++) 
            {
                for (int j = 0; j < q; j++) 
                {
                    System.out.print(a[i][j]+" ");
                }
                System.out.println("");
            }
            //Print the second matrix
            System.out.println("Second Matrix:");
            for (int i = 0; i < m; i++) 
            {
                for (int j = 0; j < n; j++) 
                {
                    System.out.print(b[i][j]+" ");
                }
                System.out.println("");
            }
            //Loop to add matrix elements
            for (int i = 0; i < p; i++) 
            {
                for (int j = 0; j < n; j++) 
                {
                    for (int k = 0; k < q; k++) 
                    {
                        c[i][j] = a[i][j] + b[i][j];
                    }
                }
            }
            //Print the resultant matrix
            System.out.println("Matrix after addition:");
            for (int i = 0; i < p; i++) 
            {
                for (int j = 0; j < n; j++) 
                {
                    System.out.print(c[i][j]+" ");
                }
                System.out.println("");
            }
        }
        else
        {
            System.out.println("Addition not possible");
            System.out.println("Try Again");
        }
    }
}


Entrez le nombre de lignes dans la première matrice :3
Entrez le nombre de colonnes dans la première matrice :3
Entrez le nombre de lignes dans la deuxième matrice :3
Entrez le nombre de colonnes dans la seconde matrice :3
Saisir tous les éléments de la première matrice :1 2 3 4 5 6 7 8 9

Saisir tous les éléments de la deuxième matrice :9 8 7 6 5 4 3 2 1

Première matrice :
1 2 3
4 5 6
7 8 9
Deuxième matrice :
9 8 7
6 5 4
3 2 1
Matrice après addition :
10 10 10
10 10 10
10 10 10

Programme 2 :Ajouter une matrice M*N à partir de l'entrée utilisateur

Dans ce programme, nous ajouterons deux matrices. Lorsque deux matrices d'ordre m*n et m*n sont données, la matrice résultante produite sera d'ordre m*n. Un point à noter ici est que pour effectuer une addition de matrice, les matrices doivent être du même ordre.

Algorithme

  1. Démarrer
  2. Déclarer des variables pour la taille de la matrice
  3. Initialiser le nombre de lignes et de colonnes pour la première matrice.
  4. Initialiser le nombre de lignes et de colonnes pour la deuxième matrice.
  5. Vérifiez si la taille des deux matrices est égale ou non.
  6. Si égal, demander à l'utilisateur d'initialiser les deux matrices.
  7. Après l'initialisation, imprimez les deux matrices.
  8. Créer une nouvelle matrice pour stocker la somme des deux matrices
  9. Appelez une méthode qui renverra leur somme.
  10. Parcourez chaque élément des deux matrices et additionnez-les.
  11. Stocker cette somme dans la nouvelle matrice à l'index correspondant.
  12. Renvoyer la matrice résultante.
  13. Imprimez la matrice résultante.
  14. Si les tailles des deux matrices ne sont pas égales, imprimez un message pour réessayer.
  15. Arrêtez.

Vous trouverez ci-dessous le code correspondant en langage Java.

/*Java Program to add two matrix*/
import java.util.Scanner;
public class Main
{
    // To print a Matrix
    static void printMatrix(int M[][],int m,int n)
    {
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++)
                System.out.print(M[i][j] + " "); 
            System.out.println();
        }
    } 
    //To add the two matrices and store in matrix c
    static int[][] add(int a[][], int b[][], int m,int n)
    {
        int i, j;
        int c[][] = new int[m][m]; 
        for (i = 0; i < m; i++)
            for (j = 0; j < n; j++)
                c[i][j] = a[i][j] + b[i][j]; 
        return c;
    }
    public static void main(String[] args) 
    {
        int p, q, m, n;    //Declare matrix size
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the number of rows in the first matrix:");
        p = sc.nextInt();    //Initialize first matrix size
        System.out.print("Enter the number of columns in the first matrix:");
        q = sc.nextInt();   //Initialize the first matrix size
        System.out.print("Enter the number of rows in second matrix:");
        m = sc.nextInt();   //Initialize second matrix size
        System.out.print("Enter the number of columns in the second matrix:");
        n = sc.nextInt();   //Initialize the second matrix size
        if (p == m && q == n) 
        {
            int a[][] = new int[p][q];    //Declare first matrix
            int b[][] = new int[m][n];    //Declare second matrix            
            //Initialize the first matrix
            System.out.println("Enter all the elements of first matrix:");
            for (int i = 0; i < p; i++) 
            {
                for (int j = 0; j < q; j++) 
                {
                    a[i][j] = sc.nextInt();
                }
            }
            System.out.println("");            
            //Initialize the second matrix
            System.out.println("Enter all the elements of second matrix:");
            for (int i = 0; i < m; i++) 
            {
                for (int j = 0; j < n; j++) 
                {
                    b[i][j] = sc.nextInt();
                }
            }            
            // Print the result
            System.out.println("First Matrix:");
            printMatrix(a, m, n);            
            // Print the second matrix
            System.out.println("Second Matrix:");
            printMatrix(b, m, n);
            int c[][] = add(a, b, m,n); 
        // Print the result
        System.out.println("Resultant Matrix:");
        printMatrix(c, m, n);            
        }
        else
        {
            System.out.println("Addition not possible");
            System.out.println("Try Again");
        }
    }
}


Entrez le nombre de lignes dans la première matrice :3
Entrez le nombre de colonnes dans la première matrice :3
Entrez le nombre de lignes dans la deuxième matrice :3
Entrez le nombre de colonnes de la deuxième matrice :3
Saisir tous les éléments de la première matrice :6 7 8 5 4 3 2 2 9
Saisir tous les éléments de la deuxième matrice :9 8 7 6 7 8 9 9 2
Première matrice :
6 7 8
5 4 3
2 2 9
Deuxième matrice :
9 8 7
6 7 8
9 9 2
Matrice résultante :
15 15 15
11 11 11
11 11 11


Balise Java