jiazihao2022 2024-01-07 13:01 采纳率: 50%
浏览 19

c++随机怎么打乱数字

怎么打乱数字
例如:
5个1,3个2
打乱后:
1211112
怎么用c++实现?
求回复!

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-07 14:25
    关注

    【以下回答由 GPT 生成】

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <random>
    
    int main() {
        std::vector<int> numbers;
        int count1 = 5; // 5个1
        int count2 = 3; // 3个2
    
        // 添加5个1和3个2到numbers中
        for (int i = 0; i < count1; i++) {
            numbers.push_back(1);
        }
        for (int i = 0; i < count2; i++) {
            numbers.push_back(2);
        }
    
        // 对numbers进行随机打乱
        std::random_device rd;
        std::mt19937 g(rd());
    
        std::shuffle(numbers.begin(), numbers.end(), g);
    
        // 输出打乱后的结果
        for (int i = 0; i < numbers.size(); i++) {
            std::cout << numbers[i];
        }
    
        return 0;
    }
    

    这段代码会创建一个包含5个1和3个2的vector,并使用random_shuffle函数来随机打乱vector中的元素。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月7日