鍍金池/ 問答/C++/ C++ 二維數(shù)組實(shí)現(xiàn)矩陣乘法

C++ 二維數(shù)組實(shí)現(xiàn)矩陣乘法

1、問題:在用C++中的二維數(shù)組實(shí)現(xiàn)矩陣乘法的過程中,Dev C++出現(xiàn)的報錯信息看不懂。但是百度了一下相關(guān)的代碼,暫時沒看出什么思路上有什么不同。還求大佬們給些提示。PS:正在下載VS2017 Community,看看是不是IDE的問題。
2、具體代碼如下:

include<iostream>

using namespace std;

int main(){

int m, n ,p, q;
int a[m][n];
int b[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[p][q];
int c[m][q];//c[m][q] = a[m][n] * b[p][q]
for( int i = 0 ; i < p ; ++i)
    for (int j = 0 ; j < q ; ++j)
        c[i][j] = 0;
        for(int s = 0 ; s < n ; ++s)
            c[i][j] += a[i][s] * b[s][j];
for( int i = 0 ; i < m ; ++i)
    for( int j = 0 ; j < q ; ++j)
        cout<<c[i][j]<<" ";
    cout<<endl;
return 0;                

}
3、代碼的截圖和報錯的截圖如下:
圖片描述

圖片描述

4、關(guān)于報錯的進(jìn)一步描述
百度了一下具體的報錯信息,可惜真的看不懂
5、自己關(guān)于這個問題的理解
我感覺報錯信息可能是在糾結(jié) i 和 j 的問題,因為數(shù)組里面的下標(biāo)必須是常量或者常量表達(dá)式。但是在第三層循環(huán)中,i 和 j 確實(shí)是常量,所以我個人認(rèn)為不存在 i 和 j 是否是常量的問題。

回答
編輯回答
情殺

m,n,p,q未初始化

2018年8月24日 06:10