C++循环生成vector
时间: 2023-09-30 13:09:52 浏览: 53
当你想要在C++中循环生成一个vector时,你可以使用for循环或者while循环来实现。下面是使用for循环生成vector的一个示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector;
for (int i = 0; i < 10; i++) {
myVector.push_back(i);
}
// 打印生成的vector
for (int i = 0; i < myVector.size(); i++) {
std::cout << myVector[i] << " ";
}
return 0;
}
```
在上面的示例中,我们首先创建了一个空的vector(myVector),然后使用for循环从0到9生成了10个整数,并将它们添加到vector中。最后,我们使用另一个for循环打印了生成的vector。
你也可以使用while循环或其他循环结构来实现类似的功能。这只是一个示例,你可以根据具体的需求进行修改。
相关问题
c++的vector随机生成数
你可以使用 `<random>` 头文件中的 `std::vector` 类模板来生成随机数。以下是一个示例代码,展示如何生成一个包含随机数的 vector:
```cpp
#include <iostream>
#include <vector>
#include <random>
int main() {
std::random_device rd; // 随机数种子
std::mt19937 gen(rd()); // 随机数生成器
int size = 10; // vector 的大小
std::vector<int> vec(size);
// 使用均匀分布生成随机数
std::uniform_int_distribution<> dis(1, 100); // 生成 1 到 100 之间的随机数
// 填充 vector
for (int i = 0; i < size; ++i) {
vec[i] = dis(gen);
}
// 打印 vector 中的随机数
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
```
在上述代码中,我们使用了 `std::random_device` 来生成随机数的种子,并通过 `std::mt19937` 定义了一个 Mersenne Twister 随机数引擎。然后,我们使用 `std::uniform_int_distribution` 来指定要生成的随机数范围。通过循环将生成的随机数填充到 vector 中,并最后打印出来。
请注意,这只是其中一种生成随机数的方法,你可以根据自己的需求进行调整和改进。
c++中vector生成二维数组
在C语言中,`vector`是C++标准库中提供的动态数组容器,而不是C语言的特性。在C语言中,我们可以使用指针和动态内存分配来实现二维数组。
下面是一个示例代码,展示如何使用指针和动态内存分配实现二维数组:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int rows, cols;
printf("请输入二维数组的行数和列数:");
scanf("%d%d", &rows, &cols);
// 动态分配内存
int** arr = (int**)malloc(rows * sizeof(int*));
for (int i = 0; i < rows; i++) {
arr[i] = (int*)malloc(cols * sizeof(int));
}
// 初始化二维数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = i * cols + j;
}
}
// 打印二维数组
printf("二维数组的内容为:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 释放内存
for (int i = 0; i < rows; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
在上述示例中,我们首先使用 `malloc` 函数动态分配了一维指针数组 `arr`,然后使用循环为每个指针分配了一维数组的内存空间。然后,我们可以通过双重循环来访问和操作二维数组。
请注意,在使用完二维数组后,要记得释放动态分配的内存,以避免内存泄漏。通过循环分别释放每个一维数组的内存空间,最后再释放一维指针数组的内存空间。
希望这个示例能帮助到你!如果有任何问题,请随时提问。