c++如何实现 n个2*2矩阵相乘

通过文件输入总循环次数,其中每个循环包含n个数组,将数组转换为2*2的矩阵之后相乘,并输出n个矩阵相乘之后的结果。

img

img

#include <iostream>
#include<vector>
 
using namespace std;
 
/*此程序两个矩阵均为行列相同的方阵*/
void matrixMultiply(int a[2][2],int b[2][2],int c[2][2]);
 
int main()
{
    int A[2][2]={1,2,3,4};//初始化
    int B[2][2]={5,6,7,8};
    int C[2][2]={0,0,0,0};
 
    cout<<"矩阵A为:"<<endl;
    for(int i=0;i<2;++i)
    {
        for(int j=0;j<2;++j)
            cout<<A[i][j]<<" ";
        cout<<endl;
    }
 
    cout<<"矩阵B为:"<<endl;
    for(int i=0;i<2;++i)
    {
        for(int j=0;j<2;++j)
            cout<<B[i][j]<<" ";
        cout<<endl;
    }
    matrixMultiply(A,B,C);
 
    cout<<"矩阵A,B相乘后得到的矩阵C为:"<<endl;
    for(int i=0;i<2;++i)
    {
        for(int j=0;j<2;++j)
            cout<<C[i][j]<<" ";
        cout<<endl;
    }
 
    return 0;
}
 
void matrixMultiply(int a[2][2],int b[2][2],int c[2][2])//
{
    for(int i=0;i<2;++i)
        for(int j=0;j<2;++j)
        {
            c[i][j]={0};
            for(int k=0;k<2;++k)
            {
                c[i][j]+=a[i][k]*b[k][j];
            }
        }
}