2d阵列中所有正对角线的总和

时间:2015-12-14 10:05:25

标签: c++ multidimensional-array

所以有我的代码:

#include<iostream>
using namespace std;

int main() {
    double M[50][50];
    int eilst;
    int sum=0;
    cout <<"row and colum number:";
    cin >> eilst;
    cout << "matrix elemkents:";
    for (int i=0; i<eilst ; i++)
        for (int j=0 ; j<eilst ; j++)
    cin>> M[i][j];
    cout<<endl;
    cout<< "sum: \n";
    for (int i =0 ; i<eilst ; i++)
    {
        for (int j=0 ; j<eilst ; j++)
        if ( i > j )
        {
            if (M[i][j]>0){
                sum= sum + M[i][j];
        cout<< sum<<"";
        }
        }
        cout<<endl;
    }
    return 0;
}

它正在打印我的所有代码下层诊断矩阵,但现在我添加了sum方法,因为我想在该数组中添加所有正面元素。也许你可以告诉我我做错了什么?

1 个答案:

答案 0 :(得分:4)

试试这个:

#include<iostream>
using namespace std;   
int main() {

double M[50][50];
int eilst;
int sum=0;
cout <<"row and colum number:";
cin >> eilst;
cout << "matrix elemkents:";
for (int i=0; i<eilst ; i++)
{
    for (int j=0 ; j<eilst ; j++)
{
cin>> M[i][j];
cout<<endl;
}
}
cout<< "sum: \n";
for (int i =0 ; i<eilst ; i++)
{
    for (int j=0 ; j<eilst ; j++)
{
    if ( i > j )
    {
        if (M[i][j]>0)
            sum= sum + M[i][j];
    }
    }
}
 cout<< sum<<"";
  cout<<endl;
return 0;
}

我认为这会起作用

相关问题