- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
公告版位
星落的瞬間!放棄的後悔是永遠!
- Jun 14 Sun 2009 23:02
微積分近似運算的問題
- Jun 14 Sun 2009 21:14
計算不定積分好工具wolframalpha.com
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 13 Sat 2009 17:10
我真的真的覺得覺得國立台灣科技大學的圖書館很不負責任
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 13 Sat 2009 15:27
今天打信長時發現
千萬不要被殺三次以後才認真玩,不然一定會變肥料,這讓我想到,讀書時,千萬不要被當了再認真讀,
因為那一定是個不智之舉。
很簡單的道理不想說太長,就跟作學問一樣,一開始基礎不認真打好,後來一定會後悔莫及的。
- Jun 12 Fri 2009 13:58
感觸深的無以覆加呀!
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 09 Tue 2009 21:00
資工之夜表演之超腦殘的「愛麗絲夢遊台科大」
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 09 Tue 2009 20:28
隱藏的java課劇情
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 08 Mon 2009 11:27
這是一個台灣人唾棄中文的年代
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 07 Sun 2009 12:01
這好像是我國小老師寫的論文耶!
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 07 Sun 2009 11:53
好像是我國小老師的文章耶!
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 07 Sun 2009 01:12
四則運算,加()、sin、cos、tan、exp
恩,最近對sourceforge.net失望了,不如參考novus大大的來改,
在psdn看到也有結構清楚的,但廢碼太多,不如novus大大來的簡潔有力!
// design by novus 2009 // some right reserved // design by 天亮damody 2009 // 隨便抄吧! #include <iostream> #include <string> #include <sstream> #include <cstdlib> #include <cmath> using namespace std; double calculate(string s); double Eval3(istream& iss); double Eval2(istream& iss); double Eval1(istream& iss); double Eval0(istream& iss); string redefine(string str,const char * a,const char * b); int main() { string input = "(x^2+3*y^2)*e(-x^2-y^2)"; string tmp; char strx[100],stry[100]; /*cin >> input;*/ //輸入公式 //印出一個面的值,準備來畫3D了 for (double x = -2;x < 2;x +=0.1) { for (double y = 0;y < 1;y +=0.1) { sprintf(strx,"(%lf)",x); sprintf(stry,"(%lf)",y); tmp = redefine(input,"x",strx); tmp = redefine(tmp,"y",stry); printf("%2.2lf ",calculate(tmp)); } cout << endl; } //一般的運算 //直到按q才離開 for (cin >> input;input != "q";cin >> input) { cout << calculate(input) << endl; } system("pause"); } //前置字串處理器 double calculate(string s) { istringstream iss; s = redefine(s,"sin","s"); s = redefine(s,"cos","c"); s = redefine(s,"tan","t"); s = redefine(s,"exp","e"); s = redefine(s,"e^","e"); //cout << s << endl; iss.str(s); return Eval0(iss); } //前置字串處理函數 string redefine(string str,const char *a,const char *b) { for (;string::npos != str.find(a);) { str.replace(int(str.find(a)),strlen(a),b,strlen(b)); } return str; } //優先權愈高愈先算 //優先權3的運算 double Eval3(istream& iss) { double Eval0(istream& iss); double res=0; if (iss.peek() == '(' && iss.get()) { res = Eval0(iss); iss.peek() == ')' && iss.get(); } else if (iss.peek() == 's' && iss.get()) res = sin(Eval2(iss)/180*4*atan(1)); else if (iss.peek() == 'c' && iss.get()) res = cos(Eval2(iss)/180*4*atan(1)); else if (iss.peek() == 't' && iss.get()) res = tan(Eval2(iss)/180*4*atan(1)); else if (iss.peek() == 'e' && iss.get()) res = exp(Eval2(iss)); else { iss >> res; } return res; } //優先權2的運算 double Eval2(istream& iss) { double res = Eval3(iss); if (iss.peek() == '^' && iss.get()) res = pow(res,Eval2(iss)); return res; } //優先權1的運算 double Eval1(istream& iss) { double res = Eval2(iss); while (iss.peek() == '*' || iss.peek() == '/') (iss.get() == '*')? (res*=Eval2(iss)): (res/=Eval2(iss)); return res; } //優先權0的運算 double Eval0(istream& iss) { double res = Eval1(iss); while (iss.peek() == '+' || iss.peek() == '-') res +=(iss.get() == '+')? Eval1(iss): -Eval1(iss); return res; }
- Jun 05 Fri 2009 21:52
最近發現很多程式設計想法
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 04 Thu 2009 22:07
因為人數的bug就去分析了一下blog
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 04 Thu 2009 21:58
pixnet是開了什麼外掛嗎?
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 04 Thu 2009 01:39
太有點了趕快記一下哈哈!
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。
- Jun 03 Wed 2009 23:17
明天要大考了我還在玩這個,保證是心情好!
- 這篇文章限定好友觀看。
若您是好友,登入後即可閱讀。