線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:731
推到 Plurk!
推到 Facebook!

請問為啥產生亂數後無法印出???

答題得分者是:RedSnow
k99
一般會員


發表:8
回覆:16
積分:4
註冊:2005-07-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-08 17:39:32 IP:203.68.xxx.xxx 未訂閱
各位前輩好   小弟在本討論區收尋亂數的文章後   自己也修改了一下  可是每當執行時  就會當在那邊動也不動  = =    小弟也不知道為啥輝這樣  @@ 以下是小弟的程式碼   請大大不吝指教  ^0^  
 
int i,j,Temp,Point[25];
  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;
            }
        }while (BRepeat);//一直到不重複再跳出
      Point[i] = Temp;
    }      for(i=0; i<10; i  )
    Form1->Canvas->TextOutA(i*20,i*20,Point[i]);
還有我發現是 for(i=0; i<10; i ) Form1->Canvas->TextOutA(i*20,i*20,Point[i]); 這2行是得bcb當掉的 因為這2行不執行時就沒問題 = = 可是我單獨執行這2行時又沒問題 只要跟上面程式一結合 馬上就當掉了 = = 是我哪邊有錯嗎 請大大幫忙一下 ^.^
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-08 19:03:20 IP:61.230.xxx.xxx 未訂閱
k99 您好:    我將您的程式敘述做了一點小小的修改如下,執行後似乎沒啥大問題,您試試看吧:
    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,不過函式要求為字串參數,還是改了好些
    }
7 天天敲鍵盤 v 時時按滑鼠 8
k99
一般會員


發表:8
回覆:16
積分:4
註冊:2005-07-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-08 19:18:07 IP:203.68.xxx.xxx 未訂閱
靠~~~~~真的可以用耶 那我不就是breaks那邊出錯喔 = = 真的是太謝謝大大了^o^ 超級感激~~~~奉上~~~~~
系統時間:2024-04-30 0:43:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!