输入的数有两行,第1行为1个正整数,表示所生成的随机数的个数 N。 第2行有 N 个用空格隔开的正整数,为所产生的随机数。用c++将其去重和排序,输出也是两行,第1行为1个正整数M,表示不相同的随机数的个数。 第2行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。
时间: 2024-03-23 13:43:02 浏览: 111
用c++语言来中的随机数的生成
以下是用 C++ 实现去重和排序,并输出不相同的随机数个数和排好序的不相同的随机数的代码:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
sort(nums.begin(), nums.end()); // 排序
auto it = unique(nums.begin(), nums.end()); // 去重
nums.resize(distance(nums.begin(), it));
cout << nums.size() << endl; // 输出不相同的随机数个数
for (int i = 0; i < nums.size(); i++) {
cout << nums[i] << " "; // 输出排好序的不相同的随机数
}
cout << endl;
return 0;
}
```
这段代码与上面的代码类似,只是在最后多输出了不相同的随机数个数。
阅读全文