一個隨機數的類c++
一個隨機數的類
這是一個生成隨機數的類。是在碼農有道c語言技術網c++中容器章節下的一道習題,這也是我第一次發表的文章,如有不當之處,敢情斧正。
下面展示程式碼。
#include <string> // string需要的標頭檔案
#include <vector> // vector需要的標頭檔案
#include <time.h>
#include <stdlib.h>
using namespace std;
class CRand
{
public:
vector<int> m_val; //用於存放隨機數的容器
void Rand(const int minvalue,const int maxvalue,const int totalcount,const bool brep=true);//CRand類的方法:用於生成一個隨機數
};
void CRand::Rand(const int minvalue,const int maxvalue,const int totalcount,const bool brep)//min隨機數的最小值; max隨機數的最大值 ;totalcount 隨機數的個數;brep 是否要重複的隨機數
{
srand(time(NULL)); //撒下種子
for(int i=0;i<totalcount;) //用於生成所需的totalcount 個數的隨機數
{
int k;
k=rand()%(maxvalue+1); //生成小於maxvalue的隨機數
if(k>=minvalue) //篩選大於minvalue的隨機數
{
if(brep) //判斷是否可以重複 (感覺可以用switch) ; true可以重複;false不可以重複;
{
m_val.push_back(k); //可以重複將得到的隨機數放入容器
i++;
}else
{
int ii;
if(m_val.size()==0) m_val.push_back(k); //開始容器裡沒有值,直接將k賦值給容器
//printf("個數=%d\n",m_val.size());
for( ii=0; ii<m_val.size();) //判斷是否有重複
{
if(k==m_val[ii])
{ break;}
ii++;
} //printf("ii的值%d\n",ii);
if(ii==m_val.size()){ //當ii等於容器值的個數便可以判斷不是重複
m_val.push_back(k);
i++;
}
}
}
}
}
int main()
{
CRand i;
i.Rand(3,8,5,false);
for(int ii=0;ii<5;ii++)
{
printf("%d\n",i.m_val[ii]);
}
return 0;
}
這是我第一次寫的程式碼,要求使隨機數的種子不能只用time(0)的秒,還可以利用微秒,同一秒內取到的隨機數將不同。我沒能寫出來,懇求各位大佬幫助。
相關文章
- C++ 隨機數C++隨機
- C++生成隨機數C++隨機
- c++產生隨機數C++隨機
- Matlab 隨機生成兩個數值之間的隨機數Matlab隨機
- 使用Math類生成隨機數隨機
- C++【生成16個不重複字母】(生成不重複隨機數)C++隨機
- Math類產生隨機數後保留一位小數隨機
- php生成一個可選位數的隨機碼PHP隨機
- 123 C++試寫一演算法,求隨機輸入的三個整數的最大值C++演算法隨機
- Java 異常 隨機數 包裝類Java隨機
- 生成某個範圍的隨機數隨機
- matlab 從某個範圍內隨機取出一個整數Matlab隨機
- 聊一聊隨機數安全隨機
- 明明的隨機數隨機
- 一百個不重複隨機數(無聊的時候看見一個app想到的)隨機APP
- 對於隨機數的一些分析隨機
- C/C++程式設計知識:C++ 快速隨機數生成器C++程式設計隨機
- 隨機數隨機
- python生成隨機數、隨機字串Python隨機字串
- 數學一|概統|四、隨機變數的數字特徵隨機變數特徵
- 封裝不同類别範本的隨機數生成器封裝隨機
- 獲取當前時間戳和隨機數的獲取、Java Random、ThreadLocalRandom、UUID類中的方法應用(隨機數)時間戳隨機JavarandomthreadUI
- 【概率論】一維隨機變數隨機變數
- java 生成一個隨機整數,範圍從 1 到 10Java隨機
- 數學一|概統|一、隨機事件和機率隨機事件
- Python如何隨機生成1到100的隨機數?Python隨機
- 實現一個炫酷的隨機標籤排列效果(顏色隨機,大小隨機,成菱形排列的列表)隨機
- 如何得到一個隨機密碼隨機密碼
- C# 隨機給一個全部資訊都未知的類型別,如何獲取該類的類名、屬性個數、屬性名、屬性的資料型別、屬性值?C#隨機資料型別
- 分享一個的c++寫的,模仿awk的框架類CAwkDocC++框架
- 一個PHP通用隨機密碼的實現PHP隨機密碼
- 一文搞懂Java隨機數生成Java隨機
- Java之生成一個隨機驗證碼(數字+大小寫字母)Java隨機
- 隨機範圍小數和隨機範圍整數隨機
- 【C++】兩個類的相互引用C++
- Linux Shell 生成隨機數和隨機字串Linux隨機字串
- Python產生20個隨機整數的方法詳解!Python隨機
- C++ 一種交換兩個數的思路C++