gpt4 book ai didi

如何实现一定概率选中某一个字母

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章如何实现一定概率选中某一个字母由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

在C#版看到这一篇文章,手边现在正开著MacBook上网 实在不太想重新开Windows跟Visual Studio来编码 正好我也在练习C++ Template,那就很刚好试著用Template来实践一下 。

复制代码 代码如下

// //  main.cpp //  RandomTest // //  Created by Cloud on 2011/4/10. //  Copyright 2011年 Orz. All rights reserved. // #include <iostream> #include <vector> using namespace std; template<class T> class RandomWord {     T m_Word;     int m_Probability; public:     RandomWord(T word, int probability):m_Word(word),m_Probability(probability){}     T getWord() { return m_Word; }     int getProbability() { return m_Probability; } }; template<class T> class RandManager {     vector<RandomWord<T> > m_randomList;     int m_sumOfProbability; public:     RandManager() :m_randomList(), m_sumOfProbability(0)     {     }     void AddRandomWord(RandomWord<T> word)     {         if(m_sumOfProbability <= 100)             m_randomList.push_back(word);         cout<<"Add word:"<<word.getWord()<<endl;         cout<<"Probability:"<<m_sumOfProbability;         cout<<"-"<<word.getProbability() + m_sumOfProbability<<endl;         m_sumOfProbability += word.getProbability();     }     void RandomGenerate(int randNum)     {         cout<<"Random:"<<randNum<<endl;         int sum = 0;         for(int i = 0 ; i < m_randomList.size() ; i++)         {             RandomWord<T> orz = m_randomList[i];             if( (sum <= randNum) &&  (randNum < (orz.getProbability() + sum)))             {                 cout<<"Generate:"<<orz.getWord()<<endl;                 break;             }             else             {                 sum += orz.getProbability();             }         }     } }; int main (int argc, const char * argv[]) {     RandManager<char> manager;     manager.AddRandomWord(RandomWord<char>('A',10));     manager.AddRandomWord(RandomWord<char>('B',10));     manager.AddRandomWord(RandomWord<char>('C',35));     manager.AddRandomWord(RandomWord<char>('D',25));     manager.AddRandomWord(RandomWord<char>('E',20));     srand(time(NULL));     manager.RandomGenerate(rand()%100);     return 0; } 。

最后此篇关于如何实现一定概率选中某一个字母的文章就讲到这里了,如果你想了解更多关于如何实现一定概率选中某一个字母的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com