MCPcopy Create free account
hub / github.com/PrajaktaSathe/Java / main

Method main

Programs/StrassensMultiplication.java:5–60  ·  view source on GitHub ↗
(String[] args)

Source from the content-addressed store, hash-verified

3public class StrassensMultiplication
4{
5 public static void main(String[] args)
6 {
7 int n,m;
8 Scanner sc = new Scanner(System.in);
9 System.out.println("Enter the number of rows and columns of the first matrix : ");
10 n = sc.nextInt();
11 System.out.println("Enter the number of rows and columns of the second matrix : ");
12 m = sc.nextInt();
13 int[][] a = new int[n][n];
14 int[][] b = new int[m][m];
15 int[][] c = new int[2][2];
16 int i, j, m1, m2, m3, m4, m5, m6, m7;
17
18 //Taking input from the user
19 System.out.println("Enter all the elemens of the first matrix : ");
20 for(i=0; i<n; i++)
21 {
22 for(j=0; j<n; j++)
23 {
24 a[i][j] = sc.nextInt();
25 }
26 }
27 System.out.println("Enter all the elemens of the second matrix : ");
28 for(i=0; i<m; i++)
29 {
30 for(j=0; j<m; j++)
31 {
32 b[i][j] = sc.nextInt();
33 }
34 }
35
36 //Strassen's multiplication
37 m1= (a[0][0] + a[1][1]) * (b[0][0] + b[1][1]);
38 m2= (a[1][0] + a[1][1]) * b[0][0];
39 m3= a[0][0] * (b[0][1] - b[1][1]);
40 m4= a[1][1] * (b[1][0] - b[0][0]);
41 m5= (a[0][0] + a[0][1]) * b[1][1];
42 m6= (a[1][0] - a[0][0]) * (b[0][0]+b[0][1]);
43 m7= (a[0][1] - a[1][1]) * (b[1][0]+b[1][1]);
44
45 c[0][0] = m1 + m4- m5 + m7;
46 c[0][1] = m3 + m5;
47 c[1][0] = m2 + m4;
48 c[1][1] = m1 - m2 + m3 + m6;
49
50 //Display the output matrix
51 System.out.println("Ouput Matrix : ");
52 for(i=0; i<n; i++)
53 {
54 for(j=0; j<m; j++)
55 {
56 System.out.print(c[i][j]+"\t");
57 }
58 System.out.println();
59 }
60 }
61}

Callers

nothing calls this directly

Calls 1

printMethod · 0.80

Tested by

no test coverage detected