電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
[c++][入門]對於迴圈還是有點點看不懂...

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
ru035pu4xx
稍嫌羞澀的路人


註冊時間: 2008-08-26
文章: 4

0.00 果凍幣

發表發表於: 2008-10-7, AM 3:44 星期二    文章主題: [c++][入門]對於迴圈還是有點點看不懂... 引言回覆

代碼:
#include <iostream>
using namespace std;

int main()
{
   const int num =5;
   int test [num];

   cout <<num<<"請輸入學生分數。<<\n";
    for (int i=0;i<num;i++)
     {   cin>> test[i]   }

   for (int s=0;s<num-1;s++)
     {for(int t=s+1;t<num;t++)
       { if (test[t]>test[s])
          {  int tmp=test[t];
              test [t]=test[s];
              test[s]=tmp;
           }
        }
      }

    for(int j=0;j<num;j++)
      {  cout <<j+1<<"號學生的分數為"<<test [j]<<"。\n";
       }

   return 0;
}



有誰可以給我很詳細的解說嗎...
我看的霧傻傻..
再寫程式的時候
有什麼辦法可以很快的理解要怎麼寫迴圈的程式嗎?..
我K C++的書的時候
想這個問題想了很久
我感覺自己沒有辦法很快的就能寫出類似這種迴圈的程式..
拜託各位高手替我解答了..="=
代碼:
回頂端
檢視會員個人資料 發送私人訊息
yag
Site Admin


註冊時間: 2007-05-02
文章: 688

2673.35 果凍幣

發表發表於: 2008-10-7, AM 8:35 星期二    文章主題: Re: [c++][入門]對於迴圈還是有點點看不懂... 引言回覆

ru035pu4xx 寫到:

有誰可以給我很詳細的解說嗎...
我看的霧傻傻..
再寫程式的時候
有什麼辦法可以很快的理解要怎麼寫迴圈的程式嗎?..
我K C++的書的時候
想這個問題想了很久
我感覺自己沒有辦法很快的就能寫出類似這種迴圈的程式..
拜託各位高手替我解答了..="=

這就只是在排序而已
想要很快的看懂或者很快的寫出來
最好的方法就是靠經驗
當你第一次看到或寫到這種東西
要花點時間理解是必然的
當你第二次看到或寫到
可能理解的時間就短了點
當你第三次、第四次甚至第十次、第一百次看到或寫到的時候
你的反應就會慢慢朝「反射動作」去接近
有句話叫勤能補拙
在這裡是很適用的
如果沒有聰明到一看就明白的大腦
那就靠不斷的經驗累積來把它刻在你的靈魂裡吧
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2008-10-8, AM 3:23 星期三    文章主題: 引言回覆

多多實作,反覆練習思考
就算有天份的人一開始學的都懂
到後面愈學愈難,總會碰上停滯的時候
多多利用大腦思考,在腦海中幫邏輯連結
回頂端
檢視會員個人資料 發送私人訊息
ru035pu4xx
稍嫌羞澀的路人


註冊時間: 2008-08-26
文章: 4

0.00 果凍幣

發表發表於: 2008-10-9, AM 4:07 星期四    文章主題: 引言回覆

嗯嗯!!
我知道了
謝謝你們~
我會努力練習的~^^
回頂端
檢視會員個人資料 發送私人訊息
vamper
對這略感興趣的新人


註冊時間: 2007-06-23
文章: 29
來自: 台灣
18.82 果凍幣

發表發表於: 2008-10-12, PM 10:10 星期日    文章主題: 引言回覆

說真的...以前還是很菜的時候,也是跟你一樣XD。

現在回過頭來看這些程序,只要區分幾塊就行了,

也比較容易看的懂。

一個功能也只是一推演算法所組成的。

第一個程式區塊:只是兩個變數互換的演算法。

代碼:
int tmp=test[t];
test [t]=test[s];
 test[s]=tmp;


第二個:兩個數值的比大小。結合上面的區塊之後,

這樣的功能是指:只要「我」大於「你」,請給我互換。

代碼:
if (test[t]>test[s]


第三個:一般人看到雙重迴圈就開始頭痛了,

別急Very Happy 拿起筆跟紙,將這些變數填值進去看看,

來觀察這兩個迴圈的變化。

代碼:
 for (int s=0;s<num-1;s++)
 for(int t=s+1;t<num;t++)


其他區塊就依樣畫葫蘆。

這樣就結束了?

不不~還要觀察這樣的時間複雜度大概多少?

哪些地方需要優化?我要怎麼「切」成模組化給user使用?

重點是!這個功能是否正常運作?

這每一個區塊就是自己往後的「小功能區塊」。

比如:要作swap的話,就是用第一個區塊就行了。

以上!

PS:金字塔也是每一塊小石頭拼出來的。從小事做起,別急。
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作