矩阵乘法

Untitled

Untitled

二维数组

Untitled

Untitled

二维数组的存放方式

Untitled

二维数组的初始化

int a[5][3] = {{80,75,92},{61,65}……};//第二行第三列为0

Untitled

遍历二维数组

#define ROW 20
#define COL 30
int a[ROW][COL];
for(int i = 0;i < ROW;i++)//注意,数组是从0到ROW - 1。
    for(int j = 0;j < COL;++j)
        cout << endl;
}

二维数组解决矩阵乘法问题

#include<iostream>
using namespace std;
#define ROWS 8
#define COLS 8
int a[ROWS][COLS];
int b[ROWS][COLS];
int c[ROWS][COLS];
int main()
{
    int m,n,p,q;
    cin >> m >> n;
    for(int i = 0; i < m;i++)
        for(int j = 0;j < n;j++)
            cin >> a[i][j];
    cin >> p >> q;
    for(int i = 0;i < p;++i)
        for(int j = 0;j < q;++j)
            cin >> b[i][j];
//将数组的值输入到 a b 数组中。
    for(int i = 0;i < m;++i){
        for(int j = 0;j < q;++j){
            c[i][j] = 0;
            for(int k = 0;k < n;++k)
                c[i][j] += a[i][k] * b[k][j];
        }
    }
    for(int i = 0;i < m;++i){
        for(int j = 0;j < q;++j){
            cout << c[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}