diff --git "a/2021/S211000805-\345\255\231\346\227\273\350\201\277/homework1.cpp" "b/2021/S211000805-\345\255\231\346\227\273\350\201\277/homework1.cpp" new file mode 100644 index 0000000..6b18b2d --- /dev/null +++ "b/2021/S211000805-\345\255\231\346\227\273\350\201\277/homework1.cpp" @@ -0,0 +1,151 @@ +#include +#include +#include +#include +#include +using namespace std; + +int n=2000; +int i=0,j=0,k=0; +int temp; + +//计算ijk的函数 +vector > multi_ijk(vector > &ve1, vector > &ve2,int n){ + vector > ve(n,vector(n,0) ) ;//定义新数组用于保存计算结果 + for (i = 0; i < n; ++i) + for (j = 0; j < n; ++j){ + temp = 0; + for (k = 0; k < n; ++k){ + + temp += ve1[i][k] * ve2[k][j]; + } + ve[i][j] = temp; + } + return ve; +} + +//计算kij的函数 +vector > multi_kij(vector > &ve1, vector > &ve2,int n){ + vector > ve(n,vector(n,0) ) ;//定义新数组用于保存计算结果 + for (k = 0; k < n; ++k) + for (i = 0; i < n; ++i){ + temp = ve1[i][k]; + for ( j = 0; j < n; ++j){ + + ve[i][j] += temp * ve2[k][j]; + } + } + return ve; +} + +//计算jki的函数 +vector > multi_jki(vector > &ve1, vector > &ve2,int n){ + vector > ve(n,vector(n,0) ) ;//定义新数组用于保存计算结果 + for (j = 0; j < n; ++j) + for (k = 0; k < n; ++k){ + temp = ve2[k][j]; + for (i = 0; i < n; ++i){ + + ve[i][j]+= ve1[i][k]*temp; + } + } + return ve; +} + +//计算ikj的函数 +vector > multi_ikj(vector > &ve1, vector > &ve2,int n){ + vector > ve(n,vector(n,0) ) ;//定义新数组用于保存计算结果 + for (i = 0; i < n; ++i) + for (k = 0; k < n; ++k){ + temp = ve1[i][k]; + for (j = 0; j < n; ++j){ + + ve[i][j] += temp *ve2[k][j]; + } + } + return ve; +} + +//计算jik的函数 +vector > multi_jik(vector > &ve1, vector > &ve2,int n){ + vector > ve(n,vector(n,0) ) ;//定义新数组用于保存计算结果 + for (j = 0; j < n; ++j) + for (i = 0; i < n; ++i){ + temp = 0; + for (k = 0; k < n; ++k){ + + temp += ve1[i][k]*ve2[k][j]; + } + ve[i][j] = temp; + } + return ve; +} + +//计算kji的函数 +vector > multi_kji(vector > &ve1, vector > &ve2,int n){ + vector > ve(n,vector(n,0) ) ;//定义新数组用于保存计算结果 + for (k = 0; k < n; ++k) + for (j = 0; j < n; ++j){ + temp=ve2[k][j]; + for (i = 0; i < n; ++i){ + ve[i][j]+=ve1[i][k]*temp; + } + } + return ve; +} + +int main(){ + //初始化矩阵 + vector > ve1(n, vector(n)); + for (i = 0; i < n;++i) + for (j = 0; j < n; ++j) + ve1[i][j]=rand()%10; + vector > ve2(n, vector(n)); + for (i = 0; i < n; ++i) + for (j = 0; j < n; ++j) + ve2[i][j]=rand()%10; + vector > ve; + + cout<<"========孙旻聿-S211000805========"< +#include +using namespace std; +const int n=2000; +int a[n][n],b[n][n],c[n][n]; +void myrandom(){ + for (int i=0;i +#include +#include +#include +using namespace std; +const int n=2000; +int a[n][n],b[n][n],c[n][n]; +int copya[n][n],copyb[n][n]; +void random(){ + srand(time(0)); // 随机种子 + for (int i=0;i +#include +#include +using namespace std; + +const int n=2000; +int h,l,i,j,k,r; +int a[n][n],b[n][n],c[n][n]; + +int time() { + for(h=0; h