PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
harrisonlin
Advance Member
 
harrisonlin的大頭照
 

加入日期: Jun 2003
您的住址: Taipei
文章: 442
寫 C/C++ 程式時,常常忘記大中小括號而 compile 錯誤嗎?

常常寫出一大堆 memory leak (new 了某些東西,卻忘記 delete) 嗎?

在這裡提供一個簡單的方法...

宣告一個 class 或是 function 時, 直接打上

class AClass {}

或是

void AFunction(int cX, int cY) {}

然後再跳回去斷行:

class AClass {
}

...

void AFunction(int cX, int cY) {
}

這樣就不會一天到晚忘括號啦~至少可以有效解決大部份這種問題~

new - delete 也是一樣!只要一 new 出某個東西,馬上把對應的 delete 寫好:

char* buff = new char[256];
delete [] buff;

然後再回到兩行之間加入程式碼:

char* buff = new char[256];

//Do something to the buff...

delete [] buff;

小小心得,供各位參考~
     
      
舊 2005-07-01, 01:08 AM #41
回應時引用此文章
harrisonlin離線中  
wangks
Major Member
 
wangks的大頭照
 

加入日期: Mar 2002
您的住址: 高雄市
文章: 279
找個家教吧
一個月
光建置編輯環境
一個不懂的人也粉難吧
 
__________________
在正確的時間, 正確的地點, 做正確的事
舊 2005-07-01, 01:59 AM #42
回應時引用此文章
wangks離線中  
elohssa
訪客
 
文章: n/a
給樓主:
第一題的參考答案
--------------------------------
代碼:
int f(int i) {
    if(i <= 5) 
        return (i/5);
    else 
        return ((i + 1) * f(i - 1));
}

--------------------------------
主要奇妙處在於遞迴(Recursive)
不懂的話像天書
懂了其實也沒什麼

第二題參考答案
--------------------------------
代碼:
int func(int n, int k) {
    if(k == 1)
        return (int)(n - (int)(n / pow(10, k)) * pow(10, k));
    else 
        return (int)(n - (int)(n / pow(10, k)) * pow(10, k)) / pow(10, (k - 1));
}

--------------------------------
pow() 是數學程式庫裡內建的函式
pow(x, n) 會傳回"x 的 n 次方"的值
例如: pow(10, 2) => 傳回100
一般標準的C 都會提供數學函式庫
所以這種函式應該不用自己寫

加油!! 耐心點~

此文章於 2005-07-01 02:49 AM 被 elohssa 編輯.
舊 2005-07-01, 02:21 AM #43
回應時引用此文章
 
terrybug0
Major Member
 
terrybug0的大頭照
 

加入日期: Jun 2004
您的住址: 屏東鄉下
文章: 136
多謝前面所有大大們的建議,在下實在無法一一的感謝,但是真的在這邊感受到溫暖,今天早上有兩位大大PM給在下,其中的建議是直接找幾本範例題庫狂k,或者先練基本功

在這邊在下會很仔細的看上面各位大大的建議,真的謝謝您們,祝大家今天有個美好的夜晚
舊 2005-07-01, 02:32 AM #44
回應時引用此文章
terrybug0離線中  
paradise
Golden Member
 

加入日期: Apr 2001
文章: 2,513
有時間的話 除了 loop 外
recursion 也稍微看一下 有時候會比 loop 好用很多
舊 2005-07-01, 05:43 AM #45
回應時引用此文章
paradise離線中  
thatguy
Major Member
 

加入日期: Nov 2004
文章: 142
引用:
作者terrybug0
感謝您的回答,這位大大,請問有推薦的書籍嗎?在下買的是文X出版的C語言真EZ,但是真的看得霧沙沙,很怕買到不同方向的書.....另外在下真的有往這方面發展的想法,努力在下是ㄧ定要的,但前提是必須先考上啦~

在這裡再一次謝謝您~

本來以為已經得到答案而沉掉了呢 回到第一頁才又看到

不過很抱歉 因為時間是一個月
所以我也想不出什麼書能推薦你讓你在這段時間內就學會的
而且以小弟本身學過的幾種程式 得到的共通心得是
不可能只有看一本書就變強 一定是要看過幾本
互相印證 觀念比較容易清晰 然後再多看看別人寫的程式或是範例
就會紮實的變強 速成的考試方法我不會

既然是考試 倒比較推薦像 finkel兄所提的去找四技二專在用的書
然後 自己整理一下考古題 應該比較有幫助
__________________
這世界就是這樣的嘛
沒有人能把世界改變成自己喜歡的樣子
只能去適應這社會
但個人的所作所為卻讓這世界一直改變
舊 2005-07-01, 06:05 AM #46
回應時引用此文章
thatguy離線中  
elohssa
訪客
 
文章: n/a
要學好程式設計
自己動手寫寫看是非常重要的
一開始會想破頭那是一定的
但是只要成功第一次
過了那個門檻
之後就會越來越順手

不過還有一個更重要的就是...........要有興趣!!
舊 2005-07-01, 12:41 PM #47
回應時引用此文章
 
GuanMa
New Member
 
GuanMa的大頭照
 

加入日期: Apr 2005
文章: 3
一個月....要是有辦法的話還是去弄個軟體來練習吧
寫程式要是從來沒上過機, K再多書也是進不了腦袋的
要是弄不到軟體的話, 直接K考古題會比較來得容易吧!?
樓主加油嚕!! 能夠提起勇氣挑戰, 很難得了唷!
舊 2005-07-01, 01:26 PM #48
回應時引用此文章
GuanMa離線中  
elohssa
訪客
 
文章: n/a
引用:
作者elohssa
給樓主:
pow() 是數學程式庫裡內建的函式
pow(x, n) 會傳回"x 的 n 次方"的值
例如: pow(10, 2) => 傳回100
一般標準的C 都會提供數學函式庫
所以這種函式應該不用自己寫


後來想起來
pow 這種函式好像也是Recursive 應用的標準考題之一
所以還是自己會寫比較好

參考寫法:
代碼:
int pow(int x, int n) {
    if(n == 0) 
        return 1;
    else
        return x * pow(x, n - 1);
}
舊 2005-07-02, 12:47 AM #49
回應時引用此文章
 
terrybug0
Major Member
 
terrybug0的大頭照
 

加入日期: Jun 2004
您的住址: 屏東鄉下
文章: 136
引用:
作者thatguy
本來以為已經得到答案而沉掉了呢 回到第一頁才又看到


哈哈~在下之前說過ㄚ,在下不是為了做作業才來求答案的,在下是真的想拼拼看

對了~感謝樓上幾位大大的解答,在下已經有去找程式來開始練習了<用拖來的:>
希望能趕在考之前把基礎弄懂一些,要是真的如願考上外加中樂透的話,每人ㄧ顆4800+加7800GT
舊 2005-07-02, 08:40 AM #50
回應時引用此文章
terrybug0離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:13 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。