喔喔喔~~~快回來喔薛爆 寫:呵呵 我最近才重灌電腦還沒灌uogames326 寫:看不懂
不是學程式設計ㄉ~CC
順帶一提~~~ray你有十可不可以出現一下阿
暫時不會出現![]()
![]()
等你喔~~~等你來繳會費喔


vo 寫:希望你會用deque...@@a
//標頭檔
#include "stdlib.h"
#include <deque> //要宣告這個,deque才可以使用
using namespace std;
//類別設定
class NUM
{
public:
int num1,num2,num3;
}
//變數宣告
int size,i;
deque<NUM> AllNum;
NUM num;
BOOL SameFlag;
//程式開始...
size=AllNum.size();
while(size<=150){
num.num1=random(41)+1;
num.num2=random(41)+1;
//判斷num2有沒有等於num1
while(num.num2==num.num1){
num.num2=random(41)+1;
}
num.num3=random(41)+1;
//判斷num3有沒有等於num1或num2
while(num.num3==num.num1 || num.num3==num.num2){
num.num3=random(41)+1;
}
//以上可產生一組三個不同的號碼
//以下判斷有無跟前面的重複
size=AllNum.size();
if(size==0){ //第一組號碼..直接存進AllNum
AllNum.push_back(num)
}
else{ //第二組以上號碼
SameFlag=FALSE;
for(i=0;i<size;i++){
if(num.num1==AllNum.num1 || num.num1==AllNum.num2 || num.num1==AllNum.num3 )
if(num.num2==AllNum.num1 || num.num2==AllNum.num2 || num.num2==AllNum.num3 )
if(num.num3==AllNum.num1 || num.num3==AllNum.num2 || num.num3==AllNum.num3 ){
SameFlag=TRUE;
break;
}
}
if(SameFlag==FALSE){
AllNum.push_back(num);
size=AllNum.size();
}
}
}
//跑到這裡AllNum裡面應該已經放了150組號碼
//而且沒有兩組是一樣的號碼
//以下檔案輸出
FILE *fp;
fp=fopen("c:\\號碼.txt","w");
for(i=0;i<size;i++){
fprintf(fp,"第%d組號碼: %d , %d , %d \n",i,AllNum.num1,AllNum[i].num2,AllNum[i].num3);
}
fclose(fp);
//以上程式結束
ㄜ.....這是最直觀的寫法....
應該還可以改進一下...讓速度變快..
因為每得到一組新的..就要跟前面的號碼比較..
會耗時間......^^"
我沒有測試過....不過應該可以吧....
你可以試試...QQ




正在瀏覽這個版面的使用者:沒有註冊會員 和 5 位訪客