作者haosan (K211)
看板C_and_CPP
標題Re: [問題] for迴圈這樣子寫對嗎?
時間Mon Sep 13 15:35:35 2010
※ 引述《han999 (999就是久久久!)》之銘言:
: 小弟對C不是很熟,想問一下我這樣子寫對嗎?
: 在matlab底下我要做的是
: for i=0:1023
: mean=mean+A14results[index];;
: end
: mean=mean/1024;
: 如果用C表示程式是這樣子嗎?
: for (i=0;i<1024;i++)
: {
: mean=mean+A14results[index];
: return 0;
: }
: mean=mean/1024;
: 不知道對不對?懇請賜教<(_ _)>
原po都大發慈悲的發問,我來誠心誠意回答好了
首先
(1) Matlab的 array 是從 1 開始
(2) Matlab有內建 mean function 唷 >.^
In Matlab:
sum = 0; mean = 0;
for i=1:1024
sum = sum + A14results[i];
end
mean = sum/1024;
再來
In C++:
//選擇正確的變數宣告 如果有小數請用double (or float)
for (i=0;i<1024;i++)
mean+=A14results[i];
mean/=1024;
原po寫到return應該是想用recursive吧
double mean(double A14results[],int i,int n)
{
if(i<n-1)
return A14results[i]/n + mean(A14results,i+1,n);
else
return A14results[i]/n;
}
-----------------------------
還是覺得C++寫起來比Matlxx 順手
Matlxx 沒有 ++ 跟 +=, *= 很不方便
別鞭大太力
我想在j版po文阿 ~~~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.84.62
推 holymars:recursive超好笑XDDDDDDDDDDD 09/13 15:38
推 netsphere:就是這樣(喵) 09/13 17:20
→ xatier:似乎得到正解囉XD 09/13 18:03
→ mysteriousGE:好殘忍... 09/13 23:16
推 shyann:不建議初學者用recursive 有點自找麻煩 09/14 02:33
推 etrexetrex:推 recursive XDD 09/14 04:07
推 xatier:To iterate is human, to recurse, divine. XDD 09/14 07:08
推 han999:感激不盡<(_ _)> 09/14 10:20
推 yayarice:我絕得原po會不會以為return就是end? 09/14 14:58