c++打印二维vector数组
时间: 2023-07-01 14:13:37 浏览: 469
可以使用 for 循环和嵌套的 for 循环来打印二维 vector 数组,示例如下:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int> > v = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < v.size(); i++) {
for (int j = 0; j < v[i].size(); j++) {
cout << v[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
1 2 3
4 5 6
7 8 9
```
注意,由于 vector 是 C++ STL 中的一个容器,因此需要在 vector 后面添加一个空格,再在尖括号内添加类型。此外,二维 vector 数组的访问方式是 `v[i][j]`,其中 `i` 表示行数,`j` 表示列数。
相关问题
C++for循环向一个二维VECTOR数组内填数
可以使用嵌套的 for 循环来向一个二维 vector 数组内填数。下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> vec(3, vector<int>(4)); // 定义一个 3 行 4 列的二维 vector 数组
int cnt = 0;
for (int i = 0; i < vec.size(); i++) { // 外层循环遍历行
for (int j = 0; j < vec[i].size(); j++) { // 内层循环遍历列
vec[i][j] = ++cnt; // 将 cnt 的值填入 vec[i][j] 中
}
}
// 输出填好的二维数组
for (int i = 0; i < vec.size(); i++) {
for (int j = 0; j < vec[i].size(); j++) {
cout << vec[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
C++将CSV文件读取到一个二维vector数组内
可以使用C++的标准库函数`getline()`和`stringstream`来实现。以下是示例代码:
```c++
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
int main() {
std::ifstream file("data.csv"); // 打开CSV文件
std::vector<std::vector<std::string>> data; // 定义二维vector数组
std::string line;
while (std::getline(file, line)) { // 逐行读取CSV文件
std::vector<std::string> row;
std::stringstream ss(line);
std::string cell;
while (std::getline(ss, cell, ',')) { // 逐个单元格读取每行数据
row.push_back(cell);
}
data.push_back(row); // 将每行数据存入二维vector数组
}
file.close(); // 关闭CSV文件
// 打印二维vector数组
for (const auto& row : data) {
for (const auto& cell : row) {
std::cout << cell << " ";
}
std::cout << std::endl;
}
return 0;
}
```
在上述代码中,我们首先定义了一个二维vector数组`data`来存储CSV文件的数据。然后通过`std::ifstream`打开CSV文件,逐行读取文件中的数据,将每行数据存入一个一维vector数组`row`中。在遍历每行数据时,我们使用`stringstream`将每行数据按`,`分隔成多个单元格,并将它们存入`row`中。最后,将每行数据存入二维vector数组`data`中。最后,我们遍历整个二维vector数组并打印它的内容。
需要注意的是,上述代码假设CSV文件中每行数据的单元格之间都用`,`分隔,并且每行数据的单元格数相同。如果CSV文件中单元格之间使用其他分隔符(如`;`、`\t`等),则需要修改代码中的分隔符参数。此外,如果每行数据的单元格数不一致,则需要添加一些额外的逻辑来处理这个问题。
阅读全文