Как напечатать x чисел с помощью rand ()% - PullRequest
0 голосов
/ 12 ноября 2018

Как я могу напечатать, скажем, 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 << " ";
    }
}

1 Ответ

0 голосов
/ 12 ноября 2018

Вы можете сгенерировать массив, распечатать его, а затем отсортировать (и перепечатать?).

Примечание: если истинная случайность является проблемой для вас, 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? .

...