Board logo

主題: [資訊電機] [求助] 程式作業急問 [打印本頁]

發表人: pokitw0912    時間: 2004-4-8 01:05 AM     主題: [求助] 程式作業急問

1.試寫函數 reverse ,其中陣列 x 為輸入參數,以及陣列 y 為輸出參數。
  第三個參數為 n ,表示 x 的元素數目。函數能夠將 x 內的整數以相反的順序複製至 y
  (也就是 y[0] 為 x[n-1] , ... y[n-1] 為 x[0] ) 。


2.二元搜尋 (binary search) 演算法可用在搜尋含有順序性元素的陣列。
  此演算法類似於下列在電話簿中找名字的方法。
  a. 打開簿子至中間部分,並查看此頁中間的名稱。
  b. 假設中間名稱並不是你要找的,此時決定它是你要找名稱之前還是之後。
  c. 翻至你認為的一半並重複這些步驟,直到找到所要的名字。


這兩題是小弟的C語言作業,班上沒一位同學寫得出來,
EQ指數不高的老師 ...  以為我們故意不交作業  因此說要當全班=.=
麻煩大大們幫幫小弟了 ...
發表人: holybible    時間: 2004-4-8 03:19 AM     主題: Re: [求助] 程式作業急問


引用:
"pokitw0912 寫到 : 1.試寫函數 reverse ,其中陣列 x 為輸入參數,以及陣列 y 為輸出參數。
  第三個參數為 n ,表示 x 的元素數目。函數能夠將 x 內的整數以相反的順序複製至 y
  (也就是 y[0] 為 x[n-1] , ... y[n-1] 為 x[0] ) 。


2.二元搜尋 (binary search) 演算法可用在搜尋含有順序性元素的陣列。
  此演算法類似於下列在電話簿中找名字的方法。
  a. 打開簿子至中間部分,並查看此頁中間的名稱。
  b. 假設中間名稱並不是你要找的,此時決定它是你要找名稱之前還是之後。
  c. 翻至你認為的一半並重複這些步驟,直到找到所要的名字。


這兩題是小弟的C語言作業,班上沒一位同學寫得出來,
EQ指數不高的老師 ...  以為我們故意不交作業  因此說要當全班=.=
麻煩大大們幫幫小弟了 ...


C 是吧?

1.
void reverse(int* X,int* Y,int n)
{
for (int i=0;i<n;i++) Y=X[n-1-i];
}

2.你說的有點不清楚,找名字是用 a b c 這類的字元 or 字串 or 數字?
   我寫的只是大概,參考看看就好
bool binsearch(lower,upper,target,book)
{
if (upper==lower) return false; //找不到的情況
char middle=(upper+lower )/2
if (book[middle]==target) return true;
else if (book[middle]<target) binsearch(middle,upper,target,book);
else binsearch(lower,middle,target,book);
}
發表人: pokitw0912    時間: 2004-4-8 12:49 PM

謝謝大大的幫忙 ^^   感恩你




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0