




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、安徽工業(yè)大學數(shù)據(jù)結構課程設計指導老師:陳學進姓名:陸俊賢 學號:139074382計算機學院課題一:進制轉換 21 數(shù)據(jù)結構:22 算法:23 程序源代碼:24測試數(shù)據(jù)與調試6課題二一元多項式的計算71 數(shù)據(jù)結構 72 算法73程序源代碼74測試數(shù)據(jù)與調試15課題三大數(shù)相乘161數(shù)據(jù)結構162 算法163 源程序代碼164 測試數(shù)據(jù)與調試18課題一:進制轉換1 數(shù)據(jù)結構:棧和隊列;2 算法:將需要轉換的數(shù)據(jù)分為兩部分,整數(shù)部分和小數(shù)部分,將整數(shù) 部分利用輾轉相除法取得的余數(shù)存入棧中,將小數(shù)部分乘以進制取 整后存入隊列中,然后順序出棧和出隊列,輸出轉換后的數(shù)值,3 程序源代碼:#includeu
2、sing namespacestd;typedef int datatype;classSeqstackprivate:datatype *base;datatype *top;int size;public:Seqstack(intstacksize=100)base =new datatype stacksize;top=base;size=stacksize;int Empty_stack();int Push_stack(datatypee);int Pop_stack(datatype &e);classSeqQueue private: datatype *base; int fr
3、ont,rear;int size; public:SeqQueue(int Queuesize=100)base =new datatype Queuesize; front=rear=0;size=Queuesize;int Empty_Queue();int In_Queue(datatype e);int Out_Queue(datatype &e);int Seqstack:Empty_stack()return top=base;int Seqstack:Push_stack(datatypee) if(top -basebase) top-; e=*top; return 1;e
4、lse return 0;int SeqQueue:Empty_Queue()return front=rear;int SeqQueue:In_Queue(datatypee) if(rear+1)%size!=front) rear=(rear+1)%size; baserear=e;return 1;elsereturn 0;int SeqQueue:Out_Queue(datatype&e)if(rear!=front)front=(front+1)%size; e=basefront;return 1;elsereturn 0;void Calculate1(int Num,int
5、r);void Calculate2(double Num,int r);int main()int r;double Num;cout請輸入一個任意十進制數(shù)(輸入0結束):Num;if(Num=0)return 0;cout請輸入轉換進制:r;cout轉換后的數(shù)為:endl;if(Num0)Num=-Num; cout-;Calculate1(int)Num,r); if(Num-(int)Num)Calculate2(Num-(int)Num,r);elsecoutendl;cout 請輸入一個任意十進制數(shù) (輸入 0 結束 ):=0&e10) coute;elsech=e+55;cout
6、ch;void Calculate2(double Num,int r)if(Num!=0)cout0.001)Num=Num*r;e=(int)Num;Num-=e;q.In_Queue(e);while(!q.Empty_Queue()q.Out_Queue(e); if(e-1) coute;elsech=e+55;coutch;cout =2 g 3請盈人轉換進制:轉梅啟的鍛.為;1 el ee. 01 OQij eon eolieoLi 001190H 39119011 doiiwiieQiiex謹輸人一個妊意千倍制勲胸.心結策S理丄請須A站或土制;lh 馨換后的數(shù)知霞.a詰給人一卜
7、任倉.十ii制數(shù)啪入思結克兀 歸人轉按進制: 翩點的數(shù)為:41 HCCCCCCCCCCC國亂一個旺意十進制敢鵡.扎暁朿:Qzny lieji f* 4nti.ru.4課題二一元多項式的計算1 數(shù)據(jù)結構順序表2 算法將從設備中接收的字符串按照一元多項式的書寫規(guī)則寫入順序 表中,然后將兩個順序表按照用戶要求的運算規(guī)則(加、減、乘) 將運算結果存入順序表中并輸出。3 程序源代碼#in clude#in clude using namespacestd;#define maxsize 100 typedef int datatype; class a public: int xishu; int ci
8、shu;char ch; char sign; class Seqlist public: a Itemmaxsize;int len;Seqlist() len=0; void Initiate(); void Output(); void Sort();friend void Calculate1(Seqlist &l1,Seqlist &l2); friend void Calculate2(Seqlist &l1,Seqlist &l2);friend void Calculate3(Seqlist &l1,Seqlist &l2 ,Seqlist &l3); ;void Add(Se
9、qlist &l3, a &l_flag);int main()Seqlist l1,l2,l3;char ch;cout 請輸入第一個一元多項式 :endl; l1.Initiate();coutendl 請輸入運算符 :ch;coutendl 請輸入第二個一元多項式 :endl; l2.Initiate();coutendl 計算結果 :endl; switch(ch)case +:Calculate1(l1,l2);break;case -:Calculate2(l1,l2); break;case *:Calculate3(l1,l2,l3); break;couta;str_len=
10、strlen(a); while(i=a&ai0&ai0&ai=a&ai0&ai0&ai=9)Itemj.xishu=ai -0+Itemj.xishu*10; i+; else break;Itemj.ch=ai;i+;if(ai!=A)i-;Itemj.cishu=1; else i+;Itemj.cishu=ai -0;i+;j+; len=j;for(i=0;ilen;i+)if(Itemi.sign= -)Itemi.xishu= -Itemi.xishu;void Seqlist:Output()int i=0;for(i=0;i0)if(Itemi.xishu0&Itemi.xi
11、shu!= -1) cout1) cout+Itemi.xishu;if(Itemi.xishu= -1) cout -;if(Itemi.xishu=1) cout+;coutItemi.ch; if(Itemi.cishu!=1)coutAltemi.cishu;elseif(ltemi.xishu= -1) cout-;if(Itemi.xishu!=1&Itemi.xishu!= -1)coutItemi.xishu;cout1)coutAltemi.cishu;void Calculate1(Seqlist&l1,Seqlist &l2)cout(;l1.Output();cout)
12、 + ;cout(;l1.Output();cout) ;cout= ;int i,j,flag=0;for(j=0;jl2.len;j+)flag=0;for(i=0;il1.len;i+)if(l2.ltemj.cishu=l1.ltemi.cishu)l1.ltemi.xishu+=l2.ltemj.xishu;flag=1;break;if(flag=0)l1.lteml1.len=l2.ltemj;l1.len+;l1.Sort();l1.Output();void Calculate2(Seqlist&l1,Seqlist &l2)cout(;l1.Output();cout) -
13、 ; cout(;l1.Output(); cout) ; cout= ; int i,j,flag=0;for(j=0;jl2.len;j+) flag=0;for(i=0;il1.len;i+) if(l2.Itemj.cishu=l1.Itemi.cishu)l1.Itemi.xishu -=l2.Itemj.xishu; flag=1;break; if(flag=0) l1.Iteml1.len=l2.Itemj;l1.len+;l1.Sort();l1.Output();void Seqlist:Sort()int i,j;a l_e; for(i=0;ilen;i+) for(j
14、=0;jlen -i;j+) if(Itemj.cishuItemj+1.cishu) l_e=Itemj;Itemj=Itemj+1; Itemj+1=l_e;void Calculate3(Seqlist &l1,Seqlist &l2,Seqlist &l3) cout(;l1.Output();cout) * ; cout(;l1.Output(); cout) ; cout= ; a l_flag; int i,j;for(i=0;il1.len;i+) for(j=0;jl2.len;j+) l_flag.xishu=l1.Itemi.xishu*l2.Itemj.xishu; l
15、_flag.cishu=l1.Itemi.cishu+l2.Itemj.cishu; l_flag.ch=l1.Itemi.ch;Add(l3,l_flag); l3.Sort();l3.Output();void Add(Seqlist &l3, a &l_flag) int i;int flag=0; for(i=0;il3.len;i+) if(l_flag.cishu=l3.Itemi.cishu) l3.Itemi.xishu+=l_flag.xishu; flag=1; if(flag=0) l3.Iteml3.len=l_flag;l3.len+; 4測試數(shù)據(jù)與調試輸入:23xA
16、2+6xA3+xA6+-21xA2+6xA3-81xA5輸出:xA6-81xA5+12xA3+2xA24臥MwiniSFo叭氏*top謚括結構序設計I客據(jù)結構煒、程設計丄叵請輸入第_個_元多項式_px2+6x3*x&前輸入運算符三縣;青輸人第二個一元多項式已-2txA2+GxA3-9txA5十算結果=*-xA6-01xA5 *12xA3 *2xA2Press any key to cantinue輸入:3xA2+xA3*XA4+6XA5輸出:6xA8+19xA7+3xA6I1 C:Ub-s rs Ad mini sirs.匚H 回課題三大數(shù)相乘數(shù)據(jù)結構線性表2 算法將從外接設備中接收的字符串存
17、入整形線性表中,并且倒序存入,每個數(shù)組元素存一個,然后錯位相乘,對應相加。3 源程序代碼#include #include #include using namespace std; typedef int datatype; #define maxsize 9999 class Seqlistprivate:datatype datamaxsize;int len;public:Seqlist()len=0;for(int i=0;imaxsize;i+)datai=0;void Initiate();void Output();void Reinitiate();friend void C
18、alculate(Seqlist &l1,Seqlist &l2, Seqlist &l3);int main()Seqlist l1,l2,l3;l1.Initiate();l2.Initiate();Calculate(l1,l2,l3);l1.Output(); cout*;l2.Output();cout=;l3.Output(); couta;str_len=strlen(a);for(i=str_len -1,j=0;i=0;i -,j+)dataj=ai -0; len+;void Seqlist:Output()int i; for(i=maxsize-1;i=0;i-)if(datai!=0) coutdatai;void Calculate(Seqlist &l1,Seqlist &l2, Seqlist &l3) int i,j,k;int flag; for(i=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公民道德建設的政府引導與領導力分析
- 關于店鋪合同范本
- 倒貼錢合同范例
- 2025年柱上開關項目合作計劃書
- 建筑施工課題立項申報書
- 元宇宙 課題申報書
- 和工廠簽合同范本
- 單元導學在小學語文課堂教學中的應用與實踐
- 合同范例 政務
- 兄弟房產(chǎn)合同范本
- 2025年中央一號文件高頻重點考試題庫150題(含答案解析)
- 風電項目電網(wǎng)接入系統(tǒng)可行性研究報告編制服務方案投標文件(技術方案)
- 2024人教版新教材初中地理七年級下冊內容解讀課件(深度)
- 接觸隔離標準操作流程
- 世界給予我的 課件-2024-2025學年高二下學期開學第一課主題班會
- 港股基礎知識
- 2025年遼寧醫(yī)藥職業(yè)學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 上海市幼兒園幼小銜接活動指導意見(修訂稿)
- 《十萬個為什么》整本書閱讀-課件-四年級下冊語文(統(tǒng)編版)
- 法社會學教程(第三版)教學
- (高清版)DZT 0208-2020 礦產(chǎn)地質勘查規(guī)范 金屬砂礦類
評論
0/150
提交評論