c++用随机数给数组赋值c++c++
时间: 2024-01-24 19:14:46 浏览: 91
以下是使用随机数给数组赋值的C++代码示例:
```cpp
#include <iostream>
#include <array>
#include <cstdlib>
#include <ctime>
int main() {
using IntArray = std::array<int, 6>;
IntArray a{ 0 };
std::srand(std::time(nullptr)); // 设置种子为当前时间,以获取不同的随机数序列
for(auto& var : a) {
var = std::rand();
std::cout << var << std::endl;
}
std::cin.get(); // 等待用户按下键盘
return 0;
}
```
这段代码使用了`std::srand()`函数来设置随机数生成器的种子,以便每次运行时都能得到不同的随机数序列。然后,使用`std::rand()`函数生成随机数,并将其赋值给数组中的每个元素。最后,通过循环输出数组中的每个元素。
请注意,为了使用`std::rand()`函数,需要包含头文件`<cstdlib>`和`<ctime>`。
相关问题
定义一个动态数组,长度为变量n,用随机数给数组各元素赋值,然后对数组各单元排序,定义swap函数交换数据单元,要求参数使用指针传递。
可以使用以下代码来定义一个动态数组,长度为变量n,并用随机数给数组各元素赋值:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int n;
cout << "请输入数组长度n:";
cin >> n;
int *arr = new int[n];
srand(time(NULL));
for (int i = 0; i < n; i++) {
arr[i] = rand() % 100;
}
cout << "排序前的数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
swap(&arr[i], &arr[j]);
}
}
}
cout << "排序后的数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
```
其中,swap函数用于交换两个数据单元,参数使用指针传递。在主函数中,先定义一个长度为n的动态数组,然后使用srand和time函数生成随机数,给数组各元素赋值。接着使用冒泡排序对数组各单元进行排序,最后输出排序前后的数组。最后,记得使用delete[]释放动态数组的内存空间。
用C++写:编写程序,按照指定长度生成动态数组,用随机数对数组元素进行赋值,然后逆置该数组元素。例如,数组A的初值为{6,3,7,8,2},逆置后的值为{2,8,7,3,6}。要求:输出逆置前、后的数组元素序列。
```
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
int length;
cout << "请输入数组长度:";
cin >> length;
int* arr = new int[length]; // 动态分配数组空间
srand(time(NULL)); // 设置随机数种子
cout << "随机生成的数组元素为:";
for (int i = 0; i < length; i++) {
arr[i] = rand() % 100; // 生成0~99的随机数
cout << arr[i] << " ";
}
cout << endl;
// 逆置数组元素
for (int i = 0; i < length / 2; i++) {
int tmp = arr[i];
arr[i] = arr[length - i - 1];
arr[length - i - 1] = tmp;
}
cout << "逆置后的数组元素为:";
for (int i = 0; i < length; i++) {
cout << arr[i] << " ";
}
cout << endl;
delete[] arr; // 释放动态分配的数组空间
return 0;
}
```
阅读全文