Wednesday, 9 October 2013

JAVA PROGRAMS 4

D)    Write a Java program to multiply two given matrices.

Program:
import java.io.*;
class MatrixMul
{
        public static void main(String args[]) throws IOException
        {
                int r1,c1,r2,c2,i,j,k;
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                System.out.print("Enter No. Of Rows & Columns for Matrix 1:");
                r1=Integer.parseInt(br.readLine());
                c1=Integer.parseInt(br.readLine());
                System.out.print("Enter No. Of Rows & Columns for Matrix 2:");
                r2=Integer.parseInt(br.readLine());
                c2=Integer.parseInt(br.readLine());
                if(r2==c1)
                {
                        int a[][]=new int[r1][c1];
                        int b[][]=new int[r2][c2];
                        int c[][]=new int[r1][c2];
                        System.out.println("Enter Values for Matrix 1:");
                        for(i=0;i<r1;i++)
                        {
                          for(j=0;j<c1;j++)
                                a[i][j]=Integer.parseInt(br.readLine());
                        }
                        System.out.println("Enter Values for Matrix 2:");
                        for(i=0;i<r2;i++)
                        {
                          for(j=0;j<c2;j++)
                                b[i][j]=Integer.parseInt(br.readLine());
                        }
                        System.out.println("MATRIX MULTIPLICATION RESULT:");
                        for(i=0;i<r1;i++)
                        {
                          for(j=0;j<c2;j++)
                          {
                                c[i][j]=0;
                                for(k=0;k<r2;k++)
                                       c[i][j]=(a[i][k]*b[k][j])+c[i][j];
                          }
                        }
                        for(i=0;i<r1;i++)
                        {
                          for(j=0;j<c2;j++)
                                System.out.print(" "+c[i][j]);
                          System.out.println();
                        }

                }
                else   System.out.print("Invalid ORDER Of Matrices");

       }
 }

Output:

Enter No. Of Rows & Columns for Matrix 1:2
3
Enter No. Of Rows & Columns for Matrix 2:3
2
Enter Values for Matrix 1:
1
2
3
4
5
6
Enter Values for Matrix 2:
1
2
3
4
5
6
MATRIX MULTIPLICATION RESULT:
 22  28

 49  64

FREE HIT COUNTERS