返回   ShareGet 社群討論 > ≡ 電腦網路 ≡ > □ -- 程式設計討論

發表新主題 回覆
 
主題工具 顯示模式
  #1  
舊 2005-11-12, 04:14 AM
正式會員
 
註冊日期: 2004-09-12
文章: 98
給予: 0 | 感謝 0 | 共 0 篇
積分: 22 | 給分能力: 18
[求助][C&C++] 請問有關dev-c++急需,煩請高手幫幫忙

如題.用的程式是dev-c++總共有五題這兩題實在是做不出來@@拜託各位高手幫幫忙小弟感激不盡!!
有多項式定義如下:
F(X)=3x^4+5X^2+X+6,P(X)=2X^3-4X^2+19,Q(X)=10X^5-7X^3+19X+10,
試設計程式來計算F(X)+P(X)-Q(X)。



試利用堆疊的資料結構與運算,設計一程式來計算下列後序表示式。
6 9 3 / - 8 6 2 - / +

此文章於 2005-11-24 07:27 AM 被 bojack 編輯.
回覆時引用此文章
  #2  
舊 2005-11-12, 05:17 AM
栗子山人 的頭像
吉他初新者
 
註冊日期: 2004-06-25
來自: 栗子星球
文章: 1,540
給予: 16 | 感謝 27 | 共 20 篇
積分: 12445 | 給分能力: 48
我只會第一題...
第二題的堆疊我還沒學過...>"<

#include <iostream>
#include <math.h>

using namespace std;
int main()
{
double a,F,P,Q,Y;

cout<<"請輸入X值:";
cin>>a;

F=3*pow(a,4)+5*(a,2)+a+6;
P=2*(a,3)-4*(a,2)+19;
Q=10*(a,5)-7*(a,3)+19*a+10;
Y=F+P+Q;

cout<<"當X等於 "<<a<<" 時,"<<"F(X)+P(X)+Q(X)= "<<Y;
system("PAUSE");
return 0;
}
回覆時引用此文章
  #3  
舊 2005-11-23, 07:07 AM
正式會員
 
註冊日期: 2004-07-19
文章: 35
給予: 0 | 感謝 0 | 共 0 篇
積分: 25 | 給分能力: 19
第二題真正要寫成程式要花點時間
不過我知道要怎麼寫
大概是這樣的:先實做一個堆疊的資料結構`可以使用陣列或者是鍊結串列linked list
然後將運算式子從左到右一個一個丟到堆疊裡、然後遇到數字的話不管遇到符號oprator時就pop堆疊中的兩個數出來作運算`、然後push回去`、最後堆疊裡就只剩一個數`、那個數就是解答了
__________________
<HTML>
<HEAD></HEAD>
<BIG>不要懈怠喔~~~</BIG>
</HTML>
回覆時引用此文章
  #4  
舊 2005-11-24, 08:18 AM
正式會員
 
註冊日期: 2005-06-25
文章: 73
給予: 0 | 感謝 0 | 共 0 篇
積分: 369 | 給分能力: 15
a開到int會不會比較保險!?

如果開到極大值的話,a有四次方項,double就爆掉了。

純粹是考慮個惡搞的可能性...
__________________
掬一把人間淨土,造千年人間仙境
回覆時引用此文章
  #5  
舊 2005-11-24, 12:23 PM
栗子山人 的頭像
吉他初新者
 
註冊日期: 2004-06-25
來自: 栗子星球
文章: 1,540
給予: 16 | 感謝 27 | 共 20 篇
積分: 12445 | 給分能力: 48
引用:
作者: wongwt
a開到int會不會比較保險!?

如果開到極大值的話,a有四次方項,double就爆掉了。

純粹是考慮個惡搞的可能性...
我有想過這個問題
但是pow(a,b)這個函數內的a無法放int,所以我才會用double的
回覆時引用此文章
  #6  
舊 2005-11-24, 09:25 PM
初級會員
 
註冊日期: 2004-05-30
文章: 12
給予: 0 | 感謝 0 | 共 0 篇
積分: 44 | 給分能力: 19
引用:
作者: iversonrkimo
試利用堆疊的資料結構與運算,設計一程式來計算下列後序表示式。
6 9 3 / - 8 6 2 - / +
用一個符號堆疊來存遇到的符號
假設一個運算式 6+(5*4+3)- 2*4
從左到右掃描, 數字就直接加入後序表示式, 遇到符號就把他存入符號堆疊, )的優先權最低, (的優先權最高, */的優先權比 +- 高, 所以讀到 )時, 要把堆疊裡面一直到 ( 的符號統統取出來到後續表示式中, 遇到 +- 時, 看看堆疊最上方是否是 */ , 如果是的話把 */ 取出, 之後把+-堆入堆疊, 當掃描完畢堆疊仍有資料, 就一一取出加入後序表示式
如以上 6+(5*4+3)- 2*4
6 堆疊: 後序表示式: 6
+ 堆疊:+ 後序表示式: 6
( 堆疊:+( 後序表示式: 6
5 堆疊:+( 後序表示式: 6 5
* 堆疊:+(* 後序表示式: 6 5
4 堆疊:+(* 後序表示式: 6 5 4
+ 堆疊:+(+ 後序表示式: 6 5 4 *
3 堆疊:+(+ 後序表示式: 6 5 4 * 3
) 堆疊:+ 後序表示式: 6 5 4 * 3 +
- 堆疊:+ - 後序表示式: 6 5 4 * 3 +
2 堆疊:+ - 後序表示式: 6 5 4 * 3 + 2
* 堆疊:+ - * 後序表示式: 6 5 4 * 3 + 2
4 堆疊:+ - * 後序表示式: 6 5 4 * 3 + 2 4
堆疊:+ - 後序表示式: 6 5 4 * 3 + 2 4 *
堆疊:+ 後序表示式: 6 5 4 * 3 + 2 4 * -
堆疊: 後序表示式: 6 5 4 * 3 + 2 4 * - +

希望沒寫錯啦 :Q
回覆時引用此文章
  #7  
舊 2005-11-25, 07:49 AM
正式會員
 
註冊日期: 2005-06-25
文章: 73
給予: 0 | 感謝 0 | 共 0 篇
積分: 369 | 給分能力: 15
引用:
作者: 栗子山人
我有想過這個問題
但是pow(a,b)這個函數內的a無法放int,所以我才會用double的
說明文件上給的定義是要用double來declare沒錯。

不過我個人試的結果是把a變數declare成float狀態也沒問題。

或許資料比較大的時候會有誤差值!?這不是很清楚...
__________________
掬一把人間淨土,造千年人間仙境
回覆時引用此文章
發表新主題 回覆

書簽

主題工具
顯示模式

發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用
論壇跳轉


所有時間均為GMT -5。現在的時間是 08:46 PM


Powered by vBulletin® Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.