請問 RedSnow大大 另一個亂數問題@.@ |
尚未結案
|
k99
一般會員 發表:8 回覆:16 積分:4 註冊:2005-07-27 發送簡訊給我 |
首先小弟先在這邊謝謝RedSnow大大幫姐問題 ~~~
以下這些是剛剛跟你討論的結果
int i,j,Temp,Point[25]={0}; // 先全部填零較不易出錯 bool BRepeat; for ( i = 0; i < 25; i ) { do { BRepeat = false; Temp = (rand()%) 1; for ( j=0 ; j<25;j ) { if ( Temp == Point[j] ) { BRepeat = true; break; // 減少執行後續不必要的迴圈 } } }while (BRepeat);//一直到不重複再跳出 Point[i] = Temp; } for(i=0; i<10; i ) { Form1->Canvas->TextOut(i*20, i*20, IntToStr(Point[i])); // 此處不改好像也能 Run,不過函式要求為字串參數,還是改了好些 }這樣只能做固定的25個數字 可是小弟剛剛又想說做個變數xx 然後可以直接帶入來決定Point[xx]的大小 可是剛剛做了好久 就是沒辦法帶入耶 請問大大是哪邊出錯 ?? |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
k99 您好: 您是要用動態方式來配置陣列大小吧,請參考下列作法:
bool BRepeat; int i,j,Temp; int MySize = 30; // 此處為欲設定陣列大小的數字 int *myPoint = new int[MySize]; // 動態設定陣列的大小 memset(myPoint, 0, sizeof(int)*MySize); // 將陣列各元素初值設為 0 for ( i = 0; i < MySize; i ) { do { BRepeat = false; Temp = (rand()%MySize) 1; for ( j=0 ; j7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/08/09 00:52:38 |
k99
一般會員 發表:8 回覆:16 積分:4 註冊:2005-07-27 發送簡訊給我 |
|
k99
一般會員 發表:8 回覆:16 積分:4 註冊:2005-07-27 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
k99 您好:
引言:阿 對了 動態陣列的一定要用my開頭嗎?? 那大小寫有差嗎??不是的,無論是不是動態陣列?那都只是變數的命名而已,而大小寫是有區別的,只要符合編譯器對變數的命名規則 (是否有那些字元不可使用、是否區分大小寫、是否需要以某些字元開頭或結尾....等等),名稱是可以按自己的習慣或偏好去命名的。 通常對於變數的命名應避免與內建的變數或函式同名,以免編譯器與個人對程式敘述產生混淆,同時也應該儘量取個易讀性較高的名稱,這樣子有助於程式的閱讀與維護。 您可以透過本站的搜尋功能,找到不少與動態陣列相關的討論文章,有空的話瀏覽一下那些文章,相信對您會有不少助益的。 7 天天敲鍵盤 v 時時按滑鼠 8 |
k99
一般會員 發表:8 回覆:16 積分:4 註冊:2005-07-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |