Java >> Java tutorial >  >> Java

Java-program til at tilføje to M*N-matrix fra brugerinput

I denne tutorial lærer vi, hvordan du tilføjer to M*N-matricer fra brugerinput. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.

Nedenfor er den billedlige fremstilling af det samme.

Input:

Indtast antallet af rækker i den første matrix:3

Indtast antallet af kolonner i den første matrix:3

Indtast antallet af rækker i den anden matrix:3

Indtast antallet af rækker i den anden matrix:3

Indtast alle elementerne i den første matrix:1 2 3 4 5 6 7 8 9

Indtast alle elementerne i den anden matrix:9 8 7 6 5 4 3 2 1

Output:

Første matrix:

1 2 3

4 5 6

7 8 9

Anden matrix:

9 8 7

6 5 4

3 2 1

Resulterende matrix:

10 10 10

10 10 10

10 10 10

Program 1:Tilføj en M*N Matrix fra brugerinput

I dette program vil vi udføre matrixaddition. Tilføjelse af matrix er kun mulig, når de givne matricer er af samme størrelse, dvs. antallet af rækker og kolonner i begge matricer skal være det samme.

Algorithme

  1. Start
  2. Deklarer variabler for matrixstørrelse
  3. Initialiser antallet af rækker og kolonner for den første matrix.
  4. Initialiser antallet af rækker og kolonner for den anden matrix.
  5. Tjek, om størrelsen af ​​begge matricer er ens eller ej.
  6. Hvis ens, så bed brugeren om at initialisere de to matricer.
  7. Udskriv de to matricer efter initialisering.
  8. Opret en ny matrix for at gemme summen af ​​de to matricer.
  9. Gennemgå hvert element i de to matricer, og tilføj dem.
  10. Gem denne sum i den nye matrix ved det tilsvarende indeks.
  11. Returner den resulterende matrix.
  12. Udskriv den resulterende matrix.
  13. Hvis størrelserne på begge matricer ikke er ens, så udskriv en besked for at prøve igen.
  14. Stop.

Nedenfor er koden til det samme i Java-sproget.

/*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");
        }
    }
}


Indtast antallet af rækker i den første matrix:3
Indtast antallet af kolonner i den første matrix:3
Indtast antallet af rækker i den anden matrix:3
Indtast antal kolonner i den anden matrix:3
Indtast alle elementerne i den første matrix:1 2 3 4 5 6 7 8 9

Indtast alle elementerne i den anden matrix:9 8 7 6 5 4 3 2 1

Første matrix:
1 2 3
4 5 6
7 8 9
Anden matrix:
9 8 7
6 5 4
3 2 1
Matrix efter tilføjelse:
10 10 10
10 10 10
10 10 10

Program 2:Tilføj en M*N Matrix fra brugerinput

I dette program vil vi tilføje to matricer. Når to matricer af størrelsesordenen m*n og m*n er givet, vil den resulterende matrix være af størrelsesordenen m*n. Et punkt, der skal bemærkes her, er, at for at udføre matrixaddition skal matricerne være af samme rækkefølge.

Algorithme

  1. Start
  2. Deklarer variabler for matrixstørrelse
  3. Initialiser antallet af rækker og kolonner for den første matrix.
  4. Initialiser antallet af rækker og kolonner for den anden matrix.
  5. Tjek, om størrelsen af ​​begge matricer er ens eller ej.
  6. Hvis ens, så bed brugeren om at initialisere de to matricer.
  7. Udskriv de to matricer efter initialisering.
  8. Opret en ny matrix for at gemme summen af ​​de to matricer
  9. Ring til en metode, der returnerer deres sum.
  10. Gennemgå hvert element i de to matricer, og tilføj dem.
  11. Gem denne sum i den nye matrix ved det tilsvarende indeks.
  12. Returner den resulterende matrix.
  13. Udskriv den resulterende matrix.
  14. Hvis størrelserne på begge matricer ikke er ens, så udskriv en besked for at prøve igen.
  15. Stop.

Nedenfor er koden til det samme i Java-sproget.

/*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");
        }
    }
}


Indtast antallet af rækker i den første matrix:3
Indtast antallet af kolonner i den første matrix:3
Indtast antallet af rækker i den anden matrix:3
Enter antallet af kolonner i den anden matrix:3
Indtast alle elementerne i den første matrix:6 7 8 5 4 3 2 2 9
Indtast alle elementerne i den anden matrix:9 8 7 6 7 8 9 9 2
Første matrix:
6 7 8
5 4 3
2 2 9
Anden matrix:
9 8 7
6 7 8
9 9 2
Resultatmatrix:
15 15 15
11 11 11
11 11 11


Java tag