我有任务,我真的需要您的帮助!我们现在正在研究recurring functions和divide and conquer,我必须使用C ++中的Strassen算法编写n * n矩阵乘法]的代码。我在Internet上进行了搜索,代码太复杂了,我需要一些非常简单的东西,因为我是一个初学者(仅在可能的情况下使用iostream)。我完全不知道如何开始,我真的需要代码才能完美运行。我的代码适用于2 * 2矩阵乘法,但我需要将其用于任何值。拜托,我真的需要您的帮助!
#include <iostream>
using namespace std;
int main()
{
int a[100][100],b[100][100],c[100][100];
int m1,m2,m3,m4,m5,m6,m7;
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
cin>>a[i][j];
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
cin>>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]*(b[0][1]-b[1][1]);
m4= a[1][1]*(b[1][0]-b[0][0]);
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;
for(int i=0;i<2;i++)
{
cout<<endl;
for(int j=0;j<2;j++)
cout<<c[i][j]<<" ";
}
return 0;
}
我有任务,我真的需要您的帮助!我们正在研究递归函数并立即进行分治,我必须使用Strassen's ...
我可以帮助您。你很幸运!我们可以在Skype上讨论此问题。我的Skype ID是live:.cid.8eda124a4bc4d747。请与我联系。我在等你。