樂透彩49個號碼,如何亂數產生,而且不重覆? |
尚未結案
|
swcamel
一般會員 發表:1 回覆:0 積分:0 註冊:2004-12-19 發送簡訊給我 |
|
rogan321
高階會員 發表:21 回覆:307 積分:200 註冊:2003-05-15 發送簡訊給我 |
參考看看摟~~
//--------------------------------------------------------------------------- #pragma hdrstop #include "stdlib.h" #include "iostream.h" //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { srand((unsigned)time(NULL));//對時間做亂數 int BigNum[49]; for(int i=0;i<49;i ) //建立49個球 { BigNum[i]=i 1; } int Point=0; int getBigHappy[6]; //得到的6個球 int count=0; for(int i=49;i>=44;i--) //模擬搖球 { Point=rand()%i 1; //搖點數 getBigHappy[count]=BigNum[Point];//將搖到的球值給6個球之一 for(int k=Point;k<49;k ) //將搖桶內被搖到的球拿掉 { BigNum[k]=BigNum[k 1]; } cout< |
stellos
中階會員 發表:24 回覆:84 積分:51 註冊:2004-06-08 發送簡訊給我 |
//這是上次回答類似的問題,不過他的特別號可重複 void __fastcall TForm1::Button1Click(TObject *Sender)
{
int tab[50]; //存隨機選號
int ball,num,i,j,k; for(i=0;i<50;i ) tab[i]=0;
ball=Edit1->Text.ToInt(); //Edit內輸入你的n
if(ball>49 ||ball<=1) return; // i=1;
while(i<=ball)
{
num=random(49) 1;
for( j=0;j< i; j )
{
if(num==tab[j]) break;
}
if(j>=i) //沒重複
{
tab[j-1]=num; i ;
}
}
tab[ball]=random(49) 1; //特別號允許與一般號重複 //顯示出來
AnsiString str="";
for( i=0; i< ball; i )
{
j=tab[i];
if(j<10) str ="0";
str =IntToStr(j);
str =" ";
}
Label1->Caption=str; //用Label輸出 }
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |