Dain1234 / Design-and-analysis-algorithm

0 stars 0 forks source link

Strassens matrix multiplication #37

Open Dain1234 opened 2 years ago

Dain1234 commented 2 years ago

include

int main(){ int a[2][2],b[2][2],c[2][2],i,j; int m1,m2,m3,m4,m5,m6,m7;

printf("Enter the 4 elements of first matrix: "); for(i=0;i<2;i++) for(j=0;j<2;j++) scanf("%d",&a[i][j]);

printf("Enter the 4 elements of second matrix: "); for(i=0;i<2;i++) for(j=0;j<2;j++) scanf("%d",&b[i][j]);

printf("\nThe first matrix is\n"); for(i=0;i<2;i++){ printf("\n"); for(j=0;j<2;j++) printf("%d\t",a[i][j]); }

printf("\nThe second matrix is\n"); for(i=0;i<2;i++){ printf("\n"); for(j=0;j<2;j++) printf("%d\t",b[i][j]); }

m1= (a[0][0] + a[1][1])(b[0][0]+b[1][1]); m2= (a[1][0]+a[1][1])b[0][0]; m3= a[0]0; m4= a[1]1; m5= (a[0][0]+a[0][1])b[1][1]; m6= (a[1][0]-a[0][0])(b[0][0]+b[0][1]); m7= (a[0][1]-a[1][1])*(b[1][0]+b[1][1]);

c[0][0]=m1+m4-m5+m7; c[0][1]=m3+m5; c[1][0]=m2+m4; c[1][1]=m1-m2+m3+m6;

printf("\nAfter multiplication using \n"); for(i=0;i<2;i++){ printf("\n"); for(j=0;j<2;j++) printf("%d\t",c[i][j]); }

return 0; }

Dain1234 commented 2 years ago

Enter the 4 elements of first matrix: 1 2 3 4 Enter the 4 elements of second matrix: 5 6 7 8

The first matrix is

1 2 3 4 The second matrix is

5 6 7 8 After multiplication using

19 22 43 50