下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、人工智能第1次作業(yè)一般合一算法(C+實(shí)現(xiàn))姓名:佟 學(xué)號(hào):201224 班級(jí):12計(jì)本非師 學(xué)院:信息學(xué)院一、 簡(jiǎn)單程序如下#include <iostream>#include <string>#include <vector>using namespace std;int iC=0; /標(biāo)記公式集中括號(hào)匹配數(shù)class Syncretismprivate:struct Transform / 一個(gè)代換(差異集)string t_f1;string t_f2;public:bool Issyn(string f1,string f2, vector<
2、Transform> &t ); /是否能合一Transform different(const string f1,const string f2) /求差異集int i=0;Transform t;while(f1.at(i)=f2.at(i)i+;int j1=i;while(j1<f1.length()-1&&f1.at(j1)!=',')j1+;if(j1-i=0) return t;t.t_f1=f1.substr(i,j1-i);int j2=i;while(j2<f2.length()-1&&f2.at(
3、j2)!=',')j2+;if(j2-i=0) return t;t.t_f2=f2.substr(i,j2-i);while(t.t_f1j1-i-1=t.t_f2j2-i-1)t.t_f1.erase(j1-1-i);t.t_f2.erase(j2-i-1);j1-;j2-;return t;bool same(const string f1,const string f2) ; / 判斷兩個(gè)公式是否相同string change(string f,Transform t); /用代換q 對(duì)公式f 進(jìn)行合一代換bool legal(Transform &t); /i
4、nt var(const string s); /s 中每個(gè)()內(nèi)的子串是變量還是常量void show();/最終演示算法;bool Syncretism:Issyn(string f1,string f2,vector<Transform> &lan)while(!same(f1,f2)Transform t=different(f1,f2);bool flag=legal(t);if(!flag)return false;elselan.push_back(t); /將t 加入vector lan 中if(flag)f1=change(f1,lan.back(); /
5、用lan 的最后一個(gè)元素代換f2=change(f2,lan.back();cout<<"變換后:"<<endl;cout<<"f1:"<<f1<<endl;cout<<"f2:"<<f2<<endl<<endl;if(same(f1,f2) break;return true;bool Syncretism:same(const string f1, const string f2)if(pare(f2)=0) return
6、true;else return false;string Syncretism:change(string f,Transform t)int i=f.find(t.t_f2);while(i<f.length()i=f.find(t.t_f2);if(i<f.length()f=f.replace(i,t.t_f2.length(),t.t_f1);return f;bool Syncretism:legal(Transform &t)if(t.t_f1.length()=0|t.t_f2.length=0)return false;else if(var(t.t_f1
7、)=0|var(t.t_f2)=0) return false;else if(var(t.t_f1)=1&&var(t.t_f2)=1&&t.t_pare(t.t_f2)!=0)return false;else if(var(t.t_f1)=2)if(var(t.t_f2)=1)string temp=t.t_f1; /變量常量交換位置t.t_f1=t.t_f2;t.t_f2=temp;elseint i1=var(t.t_f2);i1=iC;iC=0;int i2=var(t.t_f1);i2=iC;if(i1<i2)string temp=t.t_
8、f1; /變量常量交換位置t.t_f1=t.t_f2;t.t_f2=temp;return true;elsereturn true;int Syncretism:var(const string s)if(s.length()=0) return 0; /空if(s.length()=1&&s0>='a'&&s0<='g') return 1; /常量if(s.length()>1)int i=0;while(i<s.length()&&s.at(i)!='(')i+;iC
9、+;string ss=s.substr(i+1,s.length()-i-2); /抽取s 中的匹配的()中的子串return var(ss);else return 2;void Syncretism:show()cout<<"常量:形如a,b,c,d(a-g)等"<<endl<<"變量:形如x,y,z,u 等"<<endl;string f1,f2;cout<<"輸入 F1:"cin>>f1;cout<<"輸入 F2:"cin
10、>>f2;vector <Transform> lan;if(Issyn(f1,f2,lan)if(same(f1,f2) /如果f1,f2 相同則合一為cout<<"合一 = "<<endl;return ;cout<<"合一 = "for(int i=0;i<lan.size()-1;i+)cout<<lani.t_f1<<"/"<<lani.t_f2<<","cout<<lani.t_
11、f1<<"/"<<lani.t_f2<<" "<<endl;elsecout<<"不能進(jìn)行合一"<<endl;int main()Syncretism Sy;Sy.show();return 0;二、演示結(jié)果三、程序的實(shí)現(xiàn)Transform 中的t_f1,t_f2 分別表示差異集中的兩個(gè)字符串。Vector 變量lan 存放合一的集合。函數(shù)功能Issyn() 判斷兩個(gè)公式是否相同。different() 求差異集。change() 用代換對(duì)公式進(jìn)行合一代換。legal() 對(duì)t_f1,t_f2 判斷然后對(duì)換并判斷是否為合一字符串same() 判斷兩個(gè)公式是否相同。var() 字符串每個(gè)()內(nèi)的子串是變量還是常量。show() 最終演示算法函數(shù)。四、具體程序執(zhí)行程序執(zhí)行時(shí)先輸入公式集中的公式然后調(diào)用Issyn 函數(shù)判斷是否能合一如果不能則退出,如果能判斷公式是否
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋面防水課件教學(xué)課件
- 2024年度大數(shù)據(jù)中心建設(shè)與運(yùn)維合同
- 2024年度供應(yīng)鏈管理與融資合同
- 2024年度CRM系統(tǒng)升級(jí)合同:增強(qiáng)銷(xiāo)售合同管理功能
- 2024年度5G基站建設(shè)施工合同
- 2024年建筑工程環(huán)保分包合同
- 2024上海市室內(nèi)裝修合同協(xié)議書(shū)范本
- 2024年度企業(yè)合規(guī)性檢查與咨詢(xún)服務(wù)合同
- 2024年夫妻財(cái)產(chǎn)清算協(xié)議
- 2024天然氣管網(wǎng)運(yùn)營(yíng)管理合同
- DB35T 2113-2023 幸福河湖評(píng)價(jià)導(dǎo)則
- 湖北省武漢市部分重點(diǎn)中學(xué)2025屆物理高一第一學(xué)期期中學(xué)業(yè)水平測(cè)試試題含解析
- 2024年秋大作業(yè):中華民族現(xiàn)代文明有哪些鮮明特質(zhì),建設(shè)中華民族現(xiàn)代文明的路徑是什么?附答案(六篇集合)
- 安保工作考核表
- 智慧酒店解決方案白皮書(shū)
- 2024年國(guó)家公務(wù)員考試《行測(cè)》真題(副省級(jí))
- 東方電影學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 稅務(wù)代理合同模板
- 出租車(chē)行業(yè)管理方案
- 【課件】第四章《第三節(jié)平面鏡成像》課件人教版物理八年級(jí)上冊(cè)
- 中國(guó)鐵路國(guó)際有限公司招聘考試試卷2022
評(píng)論
0/150
提交評(píng)論