標題:
[隨堂測驗] 產生不重複之隨機亂數 (二)
[打印本頁]
作者:
鄭繼威
時間:
2022-4-15 19:10
標題:
[隨堂測驗] 產生不重複之隨機亂數 (二)
本帖最後由 鄭繼威 於 2022-4-16 12:03 編輯
假設箱子裡裝了38顆球,每顆球上皆印有號碼 (1 ~ 38),試模擬自箱子取出10顆球,你會拿到哪些號碼的球呢?(每取出一顆球皆花費 0.5 秒)
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10]; //宣告長度為10的陣列
//沒有外面只有裡面(執行1次)
for(int j=0; j<10; j++) //執行10次的迴圈->抽10顆球
{
n[j]=rand()%38+1; //1~38放入陣列裡->模擬抽第j球的動作
//判斷是否有重複
for(int k=0; k<j; k++) //跑j次迴圈->決定要檢查j個數
{
if(n[j]==n[k]) //k位置跟原本的j位置比較是否有相等
{
//如果有的話就跳出去(break)此迴圈,並回去(j--)原本的位置
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" "; //把剛剛抽到的球印出來(機數+空格)
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
林鴻慶
時間:
2022-4-16 11:14
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1; //1~38
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
曾善勤
時間:
2022-4-16 11:56
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1; //1~38
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
徐譽豈
時間:
2022-4-16 11:58
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1;
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
田家齊
時間:
2022-4-16 12:01
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
cout<<"4個介於0~9的隨機亂數:"<<endl;
int n[10];
int j=1;
srand(time(NULL));
for(int i=0; i<10; i++){
n[i]=rand()%38+1;
cout<<n[i]<<" ";
}
cout<<endl;
_sleep(500);
j++;
system("pause");
return 0;
}
複製代碼
作者:
柳侑辰
時間:
2022-4-16 12:01
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1;
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
孫子傑
時間:
2022-4-16 12:26
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10]; //宣告長度為10的陣列
//沒有外面只有裡面(執行1次)
for(int j=0; j<10; j++) //執行10次的迴圈->抽10顆球
{
n[j]=rand()%38+1; //1~38放入陣列裡->模擬抽第j球的動作
//判斷是否有重複
for(int k=0; k<j; k++) //跑j次迴圈->決定要檢查j個數
{
if(n[j]==n[k]) //k位置跟原本的j位置比較是否有相等
{
//如果有的話就跳出去(break)此迴圈,並回去(j--)原本的位置
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" "; //把剛剛抽到的球印出來(機數+空格)
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
高昀昊
時間:
2022-4-16 14:45
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1;
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
許宸瑀
時間:
2022-4-23 09:42
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1;
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
高鋐鈞
時間:
2022-4-23 10:23
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1;
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
作者:
郭博鈞
時間:
2022-4-30 10:06
#include<cstdlib>
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n[10];
for(int j=0; j<10; j++)
{
n[j]=rand()%38+1;
for(int k=0; k<j; k++)
{
if(n[j]==n[k])
{
j--;
break;
}
}
}
cout<<"我拿到的球為: ";
for(int j=0; j<10; j++)
{
cout<<n[j]<<" ";
_sleep(500);
}
cout<<endl<<endl;
system("pause");
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2