难以对 2D 矢量的元素求和
Difficulty summing the elements of a 2D vector
我有一个向量向量,它给了我一个 n x n 矩阵。我正在使用 for 循环对矩阵中的所有元素求和,我得到了奇怪的结果。
相关代码为:
int main(){
while(cin){
int n = 0;
int sum = 0;
cout << "nnEnter a size (n) for the matrix: ";
cin >> n;
vector<vector<int> > matrix ( n, vector<int> ( n ) );
int k = 0;
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ )
matrix[i][j] = k++;
}
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ )
cout<< setw ( 3 ) << matrix[i][j] <<' ';
cout<<'n';
}
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ )
sum += matrix[i][j];
}
cout << "nThe sum of the elements of the matrix is: " << sum << ' n';
}
}
所以,奇怪的是...当它打印"sum"的值时,出于某种原因,我在值后附加了"8202"。如果我给它 n = 1,它将打印出 08202,或者对于 n 的 3,它将打印出368202。
有什么想法吗?我在 Code::Blocks 中尝试了调试器,但没有成功。
你输出' n'
.请注意 n
前面的空格。这是两个字符/一个字符串。但是,您将'
放在它周围,这意味着它将两个字符解释为一个字符,从而为您提供奇怪的结果。将其更改为 " n"
.
奖励史诗-幻影内容:我是怎么想出来的?井。。。还能是什么?正确输出的总和,因此之后一定有问题。输出总和后唯一的事情是什么?您输出' n'
...嗯,这有什么问题?砰!问题解决了。
相关文章:
- 如何对多维 std::vector 的所有元素求和?
- 使用 C++17 或更高版本对向量中的元素对求和的最'functional'方法?
- 在 MPI 中逐个元素对数组元素求和和收集
- 以C++递归方式对链表中的元素求和
- CUDA:所有矢量元素的级联求和
- 将彼此平行的两个 int 向量的元素求和
- 使用变换和加 () 对向量的元素进行求和和模 10^9+7<int>。有什么办法可以做到这一点吗?
- 用以下方法对数组中的元素求和的有效方法是什么
- 难以对 2D 矢量的元素求和
- 循环访问 CUDA 中的三维数组以对它们的元素求和
- 如何将函数静态应用于非类型模板包的各个元素并对结果求和
- 我如何确定我是否可以将数组中的某些元素求和为 K
- 在C++中使用do-while循环对向量的元素求和
- 在c++中对最小数组元素求和
- 递归算法对数组中值小于x的每个元素求和
- 如何使用本函数对两个字符数组进行元素相乘,并将相乘结果求和为int
- 如何对一个公共矩阵中的所有元素求和
- 通过迭代器对map的元素求和
- 如何在c++中对multimap中具有相同键的所有元素求和
- 在一个数组中查找求和为k的两个元素