Как я могу напечатать, скажем, 10 чисел с помощью rand (), а затем отсортировать их по наибольшему?
#include <iostream> using namespace std; int main() { int b; cin >> b; srand(b); for (int i = 0; i < 10; i++){ cout << rand() % 100000 << " "; } }
Вы можете сгенерировать массив, распечатать его, а затем отсортировать (и перепечатать?).
Примечание: если истинная случайность является проблемой для вас, rand() + % не подходит .
rand()
%
#include <array> #include <algorithm> #include <iostream> int main() { std::array<int, 10> data; std::generate(begin(data), end(data), rand); for (auto n : data) { std::cout << n << ", "; } std::cout << '\n'; std::sort(begin(data), end(data)); for (auto n : data) { std::cout << n << ", "; } std::cout << '\n'; }
демо: http://coliru.stacked -crooked.com / a / 2e62855189995ab0
Подписан на: как я могу определить оператор, который сможет писать std::cout << data независимо от типа data? .
std::cout << data
data