B22=new int*[m];
C11=new int*[m];
C12=new int*[m];
C21=new int*[m];
C22=new int*[m];
C111=new int*[m];
C112=new int*[m];
C121=new int*[m];
C122=new int*[m];
C211=new int*[m];
C212=new int*[m];
C221=new int*[m];
C222=new int*[m];
int i;
for(i=0;i
C211[i]=new int[m];
C212[i]=new int[m];
C221[i]=new int[m];
C222[i]=new int[m];
}
matrixblock(n,A,A11,A12,A21,A22);
matrixblock(n,B,B11,B12,B21,B22);
matrixmul(m,A11,B11,C111);
matrixmul(m,A12,B21,C112);
matrixmul(m,A11,B12,C121);
matrixmul(m,A12,B22,C122);
matrixmul(m,A21,B11,C211);
matrixmul(m,A22,B21,C212);
matrixmul(m,A21,B12,C221);
matrixmul(m,A22,B22,C222);
matrixadd(m,C111,C112,C11);
matrixadd(m,C121,C122,C12);
matrixadd(m,C211,C212,C21);
matrixadd(m,C221,C222,C22);
matrixunite(n,C,C11,C12,C21,C22);
}
}
int main(int argc, char** argv) {
int n;
cout<<"please input the number n:"<>n;
int **A=new int*[n];
int **B=new int*[n];
int **C=new int*[n];
int i,j;
for(i=0;i
>A[i][j];
cout<<"please input the matrix B:"<>B[i][j];
matrixmul(n,A,B,C);
cout<<"The matrix C which is the product of A and B is:"<4. 运行结果
5. 心得体会
运行时容易输错矩阵,从而造成结果不正确。