Answers for "multiplying 2d matrix"

0

how to multiply two matrices

When we do multiplication of matrices

The number of columns of the 1st matrix must equal the number
of rows of the 2nd matrix.

And the result will have the same number of rows as the 1st matrix,
and the same number of columns as the 2nd matrix.
Posted by: Guest on May-24-2021
0

2d matrix multiplication

import java.util.Arrays;
import java.util.Scanner;
public class Matrix {

    private static int counter =0;
    private static Scanner scanner = new Scanner(System.in);
    private int rawForArr1 =0 , columnForArr1=0, rawForArr2=0, ColumnForArr2=0;

    public Matrix(){
    }

    public Matrix(int rawForArr1, int columnForArr1, int rawForArr2, int columnForArr2) {
        this.rawForArr1 = rawForArr1;
        this.columnForArr1 = columnForArr1;
        this.rawForArr2 = rawForArr2;
        ColumnForArr2 = columnForArr2;
    }

    public void sizeOfRawsAndColumns(int r1, int c1, int r2, int c2){
        System.out.println("Enter numbers of raws for array#1");
        r1=scanner.nextInt();
        this.rawForArr1 =r1;
        System.out.println("Enter numbers of columns for array#1");
        c1=scanner.nextInt();
        this.columnForArr1=c1;
        System.out.println("Enter numbers of raws for array#2");
        r2=scanner.nextInt();
        this.rawForArr2 = r2;
        System.out.println("Enter numbers of columns for array#2");
        c2=scanner.nextInt();
        this.ColumnForArr2 = c2;
        checkIfMatrixIsValid(c1,r2,r1,c2);
    }
    public static void printValue(int[][] arr)
    {
                System.out.print(Arrays.deepToString(arr));
    }

    public static void checkIfMatrixIsValid(int c1,int r2,int r1, int c2)
    {
        while(c1 != r2)
        {
            System.out.println("The columns in the left array is not equal to the raw's in the right"+"n"+
                    "array enter other values"+"n"+
                    "enter a value and it will be assigned for valid Matrix");
            Scanner scanner = new Scanner(System.in);
            c1 = scanner.nextInt();
            r2 = c1;
        }
        int [][] firstArr = initilizeMatrix(r1,c1);
        int [][] secondArr = initilizeMatrix(r2,c2);
        EnterElements(firstArr);
        EnterElements(secondArr);
        int[][] multplied =multiplieMatrix(firstArr,secondArr);
        printValue(multplied);



    }

    public static int [][] initilizeMatrix(int n , int m)
    {

        int [][] newMatrix = new int[m][n];
        return  newMatrix;

    }

    public static int [][] multiplieMatrix(int [][] leftArr,int[][] rightArr){
        int m = leftArr[0].length;
        int n = rightArr.length;
        int [][] sumOfMultiplie = new int[m][n];
        int i=0,j=0,k=0;
        int sum = 0 ;
        for( i = 0 ; i < leftArr.length ; ++i)
        {
            for(j = 0 ; j < rightArr.length ; ++j)
            {
                for(k = 0 ; k < rightArr[0].length ; ++k)
                {
                    sum+= leftArr[i][k]*rightArr[k][j];
                }
                sumOfMultiplie[i][j]=sum ;
                sum=0;
            }
        }
        return sumOfMultiplie ;
    }

    public static int[][] EnterElements(int[][] arr)
    {

        ++counter;
        if(counter==1){
            System.out.println("Enter the elements for the left array"+'n');
        }else{
            System.out.println("Enter the elements for the right array");
        }

        for(int i = 0 ; i < arr.length ; ++i)
        {
            for(int j = 0 ; j<arr.length ; ++j)
            {
                System.out.println("Enter element in raw #"+(i+1)+" column #"+(j+1));
                arr[i][j] = scanner.nextInt();
            }
        }
        return arr ;

    }



}
Posted by: Guest on July-23-2021

Code answers related to "Java"

Java Answers by Framework

Browse Popular Code Answers by Language