problem:
给定n阶方阵里所有的数,求方阵里所有数的和。
solution:
方案一:使用vector
#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
int main()
{
int n,num;
int sum=0;
cin>>n;
//二维数组的定义
vector<vector<int>> array(n);//行;这里指定了长度,所以每个元素都默认初始化为0了
for(int i=0;i<n;i++)
{
array[i].resize(n);//列
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>num;
//array[i].push_back(num);不可以使用这种方式,只是在末尾添加元素
array[i][j]=num;
sum=sum+array[i][j];
}
}
cout<<sum<<endl;
return 0;
}
方案二:使用传统二维数组定义
#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
int main()
{
int n,num;
int sum=0;
cin>>n;
int array[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>num;
array[i][j]=num;
sum+=array[i][j];
}
}
cout<<sum<<endl;
}