首页 > 代码库 > C++ 出现bug :二位数组的操作运算,求非对角线的元素的和

C++ 出现bug :二位数组的操作运算,求非对角线的元素的和

编写一个通用程序,求出二位数组(行数和列数必须相等)的非对角线的元素之和,试建立类MATRIX完成上述功能

#include<iostream>using namespace std;class MATRIX{        public:                void mATRIX();                void MATRIX_sum();                void MATRIX_display();                static int fact_len;//定义静态变量        private:                int sum;                int a[40][40];};int MATRIX::fact_len = 0;void MATRIX::mATRIX()//定义输入函数{        int i,j,fact_len;        sum = 0;        for(i = 0;i<fact_len;i++)                for(j = 0;j<fact_len;j++)                {                        cin >> a[i][j];                }}void MATRIX:: MATRIX_sum()//定义求和函数{        int i,j;//fact_len = 4;        for(i = 0;i<fact_len;i++)                for(j = 0;j<fact_len;j++)                {                        if((i ==j)||(i+j ==fact_len-1))                                continue;                        sum +=a[i][j];                }}void MATRIX::MATRIX_display()//定义显示函数{        int i,j;        for(i = 0;i<fact_len;i++)        {                for(j = 0;j<fact_len;j++)                {                        cout << a[i][j]<<"  ";                }                cout <<endl;        }        cout << "sum="<<sum<<endl;;}int main(){        MATRIX ARR_test;        cout<<"please input the array you want to input:";        cin>>MATRIX::fact_len;//改变静态变量        ARR_test.mATRIX();//调用输入函数        ARR_test.MATRIX_sum();//调用求和函数        ARR_test.MATRIX_display();//调用显示函数        return 0;}                                                                                                                                  
View Code

这个函数bug:

截图命令:gnome-screenshot -a

程序bug出现在我需要输入9*9的数组结果没有输入,直接输出a[9][9],不清楚哪里出问题类