c++ - 打印向量数组 c++
问题描述
对于一个简单的一维向量,我可以像这样轻松打印出向量的元素。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<double> myvector;
for(int i=0; i<10; i++){
myvector.push_back(i*2.0);
}
for (auto it = myvector.begin(); it != myvector.end(); ++it)
cout << ' ' << *it;
}
同样,现在我想创建一些向量数组,然后想推回向量数组的元素,然后我想打印它们。做法是:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<double> array[10];
for(int j=1; j<=10; j++){
for(int i =0; i<=5; i++){
array[j].push_back(i*j*2);
}
}
for (int j=1; j<10;j++){
for (auto it = array[j].begin(); it != array[j].end(); ++it)
cout << ' ' << *it;
}
}
后一个显示了一些分割错误。你能建议如何正确地做第二个(向量数组)吗?
解决方案
您将不得不使用二维数组而不是一维数组。
array[j].push_back(i*j*2)
是完全错误的。如果你想使用一维向量,你可以这样做arr[j]=i*j*2
,但是由于你想在一个位置推送多个元素,你必须使用二维向量,那么你可以在一个特定的位置推送多个元素,我猜这是你的最终目标。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<vector<double>> array(10);
for(int j=0; j<10; j++){
for(int i=0; i<=5; i++){
array[j].push_back(i*j*2);
}
}
for (int j=0; j<10;j++){
for (auto it = array[j].begin(); it != array[j].end(); ++it)
cout << ' ' << *it;
}
}
此外,检查向量大小的预定义方式以及如何使用 2D 向量。
推荐阅读
- c# - 如何将数据库从 SQL Server 烘焙到 C#
- haskell - 为任何类型的数字定义类型类的实例
- php - 从 Woocommerce 中的自定义运费折扣中排除用户角色
- python - 如何在views.py索引函数中的django中添加我自己的python代码
- discord.js - TypeError:无法读取未定义 discord.js 的属性“发送”
- zsh - `zsh:command not found: important` 来自哪里
- firebase - allAuthenticatedUsers 用于 cloudFunction 发送推送通知:perl 客户端代码
- ios - 在segues之间存储数据
- reactjs - React Native 中的 super(props) 真的被弃用了还是只是一个 Vs 代码警告?
- numpy - .numpy() 函数有什么作用?