利用真值表法求主析取范式及主合取范式的实现

合集下载

实验一利用真值表法求取主析取范式以及主合取范式的实现

实验一利用真值表法求取主析取范式以及主合取范式的实现
函数递归计算各种赋值情况下b的取值
联接词运算符定义
cal(b, s): switch b[s] case…(!...&…|…>…-…)
基本思路参考
!: b[s+1]=!b[s] &: b[s+1]=b[s-1]&b[s+1] … 若下标s+2 超出表达式长,则返回b[s+1],
规范列出所输合式公式的真值表 给出相应主析取和主合取范式
基本思路参考
可用字符数组a记录输入的合式公式(!表示;& 表示;|表示;>表示;-表示)
多重循环显示真值表(1表示T,0表示F,先1后0) 并对公式进行相应赋值得数组b
assign(a, i, j, k): switch a[s] case…(!&|>-: b[s]=a[s]; ‘P’-i; ‘Q’-j; ‘R’-k)
实验目的:通过编程实现主析取范式以及主合 取范式的真值表求法以巩固相关理论的掌握
实验类型:验证 实验学时:4 实验环境:Windows+VC
实验内容
编程实现用真值表法求取含三个以内变量的 合式公式的主析取范式和主合取范式
要求:
从屏幕输入含三个以内变量的合式公式(其中 联结词按照从高到底的顺序出现)
否则返回cal(b, s+2)

?从屏幕输入含三个以内变量的合式公式其中联结词按照从高到底的顺序出现?规范列出所输合式公式的真值表?给出相应主析取和主合取范式基本思路参考?可用字符数组a记录输入的合式公式
实验一
利用真值表法求取主析取范式 以及主合取范式的实现
9月23日周一晚10-12 教2-216

离散数学总结

离散数学总结
反例 设个体域为实数集合,A(x, y): x-y=1. 则 (x)(y)A(x, y)为真, 而(y)(x)A(x, y)为假, 所以(6)式反过来不成立.
总结下就是任意可以改成存在,存在不能变成 任意所以先做存在。 任意(推出ห้องสมุดไป่ตู้则先用德摩根律把推出给换了, 在把量词放进去! 有限集合中元素的个数称为集合的基数 (cardinality). 集合A的基数表示为|A|(或card(A)=n). n card(P(A)=2 )幂集 设A, B为两个集合,A=B当且仅当AB且B A. 即A=B(AB) (B A)
个人. 则命题符号化为:
(x)(y)(F(x) F(y) H(x, y) L(x, y))
(8) 每个自然数都有后继数.
解: 引入特性谓词 F(x) : x是自然数.并设 H(x, y):y是x的后继数. 则命题符号化为: (x)(F(x) (y) (F(y) H(x, y))
证: 任取x,则
xA∩ (B∪C) xA xB∪C xA (xB x C) (xA xB) (xA xC) x A∩B x A∩C
x (A∩B)∪(A∩C)
推广
三、集合中元素的计数
|A∪B∪C |A||B|| |A∩B ||A∩C||B∩C| |A∩B∩C | C| |
(x)A(x) (x)B(x)
量词转化律
E20
三、谓词演算的等价式与蕴含式
(三) 谓词演算中常见的蕴含式: (1)(x)A(x)(x)B(x) (x)(A(x)B(x)) (2)(x)(A(x)B(x)) (x)A(x)(x)B(x) (1), (2)两式反过来均不成立. 反例 设个体域为自然数集合, A(x): x为奇数. B(x): x为偶数.则 (1)(x)(A(x)B(x))为真, 而(x)A(x)为假, (x)B(x)为假, 故(x)A(x)(x)B(x)为假, 所以(1)式反过来不成立; (2)(x)A(x)为真,(x)B(x)为真, 故(x)A(x)(x)B(x)为真, 但(x)(A(x)B(x))为假, 所以(2)式反过来也不成立.

主析取范式

主析取范式

主析取范式
求解主析取范式、主合取范式方法
1、真值表法
①在表中列出变元值的全部可能
②查表判断命题
命题结果真,变元值对应主析取范式
命题结果假,变元值对应主合取范式
2、等值演算法
①命题化简
蕴涵等值式:A→B↔¬A∨B(作用:去→)
矛盾律:A↔∧¬A(作用:补齐变元)
分配律:(A∧B)∨C↔(A∨C)∧(B∨C)、(A∨B)∧C↔(A∧C)∨(B∧C)
②判断命题
命题结果真,变元值对应主析取范式
命题结果假,变元值对应主合取范式。

例题
求公式(p→q)∧(q→r)的主析取范式和主合取范式、成真赋值。

解:
1、真值表法
查表可得
成真赋值:000、001、011、111
主析取范式:∑(0,1,3,7)
成假赋值:010、100、101、110
主合取范式:∏(2,4,5,6)
2、等值演算法
(p→q)∧(q→r)
=(¬p∨q)∧(¬q∨r)-----------------------------(蕴涵等值式:
化简→)
=((¬p∨q)∨(¬r∧r)))∧((¬q∨r)∨(¬p∧p))----(矛盾律:补齐变元)
=(¬p∨q∨¬r)∧(¬p∨q∨r)∧(¬p∨¬q∨r)∧(p∨¬q∨r)—(分配律:化简)
↔M5M4M6M2。

利用真值表法求取主析取范式以及主合取范式的实现

利用真值表法求取主析取范式以及主合取范式的实现

#include "stdio.h"#include "stdlib.h"#include "string.h"#include "math.h"#define N 50void pd(int b[N],int f);int H1 (char T1[N], char T2[N], int T3[N], int y);int H2 (char T1[N], char T2[N], int T3[N], int y);int main(){int i1,i2,d=1,T3[N],kh=0,jg,j=0,y;int w=0,hequ[N],h=0,x=0,xiqu[N];char T1[N],T2[N],T10[N],s;hequ[0]=-1;xiqu[0]=-1;printf("#########################################\n"); printf("## 用!表示否定 ##\n");printf("## 用&表示合取 ##\n");printf("## 用|表示析取 ##\n");printf("## 用^表示条件 ##\n");printf("## 用~表示双条件 ##\n");printf("#########################################\n\n"); printf("请输入一个合法的命题公式:\n");gets(T1);strcpy(T10,T1);for(i1=0;i1<strlen(T1);i1++){if(T1[i1]==')' || T1[i1]=='(')kh++;if(T1[i1]>='a' && T1[i1]<='z' || T1[i1]>='A' && T1[i1]<='Z') {for(i2=0;i2<j;i2++)if(T2[i2]==T1[i1])d=0;if(d==1){T2[j]=T1[i1];j++;}d=1;}}1printf("\n输出真值表如下:\n \n");for(i1=0;i1<y;i1++)printf(" %c ",T2[i1]);printf(" ");puts(T1);printf("\n");for(i1=0;i1<j;i1++)T3[i1]=0;for(i2=0;i2<j;i2++)printf(" %d ",T3[i2]);jg=H1(T1,T2,T3,y);if(jg==0)hequ[h++]=w;elsexiqu[x++]=w;printf(" %d\n",jg);strcpy(T1,T10);for(i1=0;i1<(int)pow(2,j)-1;i1++) {++w;pd(T3,j-1);jg=H1(T1,T2,T3,y);if(jg==0)hequ[h++]=w;elsexiqu[x++]=w;strcpy(T1,T10);for(i2=0;i2<j;i2++)printf(" %d ",T3[i2]);printf(" %d\n",jg);}if(hequ[0]==-1)printf("\n该命题公式不存在主合取范式。

离散数学简答题

离散数学简答题

简答题1.用真值表法判断下列公式的类型.(1)⌝(P∧Q)↔(⌝P∧⌝Q)(2)(P∧⌝Q)→R(3)(P→(P∨Q))∨R(4)⌝(P→Q)∧Q解:(1)⌝(P∧Q)↔(⌝P∧⌝Q)的真值表为:(2)(P∧⌝Q)→R的真值表为:(3)(P→(P∨Q))∨R的真值表为:(4)⌝(P →Q )∧Q 的真值表为:2.用真值表的方法求(P ∨Q )→(Q ↔R )的主析取范式和主合取范式。

解:(P ∨Q )→(Q ↔R )的真值表(P ∨Q )→(Q ↔R )⇔ 0147m m m m ∨∨∨ 主合取范式为:(P ∨Q )→(Q ↔R )⇔2356M M M M ∧∧∧3.用等值演算法求((P ∨Q )→R )→P 的主析取范式和主合取范式。

解:((P ∨Q )→R )→P ⇔⌝(⌝(P ∨Q )∨R )∨P ⇔((P ∨Q )∧⌝R )∨P⇔(P ∧⌝R )∨(Q ∧⌝R )∨P (析取范式) ⇔P ∨(Q ∧⌝R )(析取范式)⇔(P ∧(Q ∨⌝Q )∧(R ∨⌝R ))∨((Q ∧⌝R )∧( P ∨⌝P )) ⇔(P ∧Q ∧R )∨(P ∧Q ∧⌝R )∨(P ∧⌝Q ∧R )∨(P ∧⌝Q ∧⌝R ) ∨(P ∧Q ∧⌝R )∨(⌝P ∧Q ∧⌝R )(六个极小项,其中重复了一个) ⇔(P ∧Q ∧R )∨(P ∧Q ∧⌝R )∨(P ∧⌝Q ∧R )∨(P ∧⌝Q ∧⌝R )∨(⌝P ∧Q ∧⌝R ) ⇔24567m m m m m ∨∨∨∨ (主析取范式) 由主合取范式与主析取范式的关系得:((P ∨Q )→R )→P ⇔013M M M ∧∧ (主合取范式) 4.求下列公式的主析取和合取范式。

(1)(┐P → Q)∧(P → R) (2)(P → Q)∨(P∧R) (3) P ∧Q ∨R解:(1)(┐P → Q)∧(P → R)⇔(P∨Q)∧(┐P∨R) (合取范式) ⇔((P∨Q)∨(R∧┐R ))∧((┐P∨R)∨(Q ∧┐Q ))⇔((P∨Q∨R)∧(P∨Q∨┐R ))∧((┐P ∨Q∨R)∧(┐P ∨┐Q∨R)) ⇔(P∨Q∨R)∧(P∨Q∨┐R)∧(┐P ∨Q∨R)∧(┐P ∨┐Q∨R) (主合取范式) ⇔0146M M M M ∧∧∧由主合取范式与主析取范式的关系得:(┐P → Q)∧(P → R)⇔2567m m m m ∨∨∨(主析取范式) (2)(P → Q)∨(P∧R)⇔(┐P∨Q)∨(P∧R ) ⇔(P∨┐P∨Q )∧(┐P∨Q ∨R) (合取范式)⇔(1∨Q )∧(┐P∨R∨Q )⇔┐P ∨Q∨R (主合取范式) ⇔4M由主合取范式与主析取范式的关系得: (P →Q)∨(P∧R)⇔0123567m m m m m m m ∨∨∨∨∨∨ (3) P ∧Q ∨R ⇔(P ∨R)∧(Q∨R)⇔(P ∨(Q ∧┐Q)∨R)∧((P∧┐P)∨Q∨R )⇔(P ∨Q ∨R)∧(P∨┐Q ∨R)∧(P∨Q ∨R)∧(┐P ∨Q ∨R) ⇔(P ∨Q ∨R)∧(P∨┐Q ∨R)∧(┐P ∨Q ∨R) ⇔024M M M ∧∧ (合取范式) 由主合取范式与主析取范式的关系得:P ∧Q ∨R ⇔13567m m m m m ∨∨∨∨ (主析取范式)5.给定解释I如下:(1)D={2,3};I(2)D中的特定元素a=2;I(3)D上的函数f(x)为f(2)=3,f(3)=2;I(4)D上的谓词F(x)为F(2)=0,F(3)=1;.IG(x,y)为G(2,2)= G(2,3)= G(3,2)=1, G(3,3)=0;L(x,y)为L(2,2)=L(3,3)=1,L(2,3)= L(3,2)= 0;在这个解释下,求下列各式的值:(1)∀x(F(x)∧G(x,a));(2) ∃x(F(f(x))∧G(x,f(x))) ;(3) ∀x∃yL(x,y);(4)∃y∀xL(x,y);(5)∀x∀y( L(x,y) →L(f(x),f(y)))解:(1) ∀x(F(x)∧G(x,a))⇔(F(2)∧G(2,2))∧(F(3)∧G(3,2))⇔(0∧1)∧(1∧1)⇔ 0(2)∃x(F(f(x))∧G(x,f(x)))⇔(F(f(2))∧G(2,f(2))) ∨ (F(f(3))∧G(3,f(3)))⇔ (F(3)∧G(2,3)) ∨ (F(3)∧G(3,3))⇔(1∧1) ∨(0∧1)⇔1(3)∀x∃yL(x,y)⇔∃yL(2,y)∧∃yL(3,y)⇔(L(2,2)∨L(2,3))∧(L(3,2)∨L(3,3))⇔1∧1⇔1(4)∃y∀xL(x,y)⇔∃y(L(2,y)∧L(3,y))⇔(L(2,2)∧L(3,2))∨ (L(2,3)∧L(3,3))⇔0 ∨ 0⇔0(5)∀x∀y( L(x,y) →L(f(x),f(y)))⇔∀y(L(2,y)→L(f(2),f(y)))∧∀y(L(3,y)→L(f(3),f(y)))⇔(L(2,2)→L(f(2),f(2)))∧(L(2,3)→L(f(2),f(3)))∧(L(3,2)→L(f(3),f(2)))∧(L(3,3)→L(f(3),f(3)))⇔(1→L(3,3))∧(0→L(3,2))∧(0→L(2,3))∧(1→L(2,2))⇔(1→1)∧(0→0)∧(0→0)(1→1)⇔06.给定解释I如下:D为实数集合R;(a)个体域I(b)D中的特定元素a=0;ID上的特定函数f(x,y)=x-y;(c)ID上的特定谓词F(x,y):x=y,G(x,y):x<y(d)I说明下列公式在I下的含义,并指出其真值。

求主析取范式的方法

求主析取范式的方法

求主析取范式的方法求主析取范式是一种用于逻辑推理和逻辑问题求解的方法。

在计算机科学和数学领域,求主析取范式被广泛应用于逻辑电路设计、自动推理、人工智能等领域。

本文将介绍求主析取范式的基本概念、求解方法以及应用。

一、求主析取范式的基本概念求主析取范式是一种用于描述逻辑表达式的标准化形式。

它由主合取范式和主析取范式组成,其中主合取范式是逻辑表达式的合取范式中最简单的形式,主析取范式是逻辑表达式的析取范式中最简单的形式。

主合取范式是由若干个子句通过逻辑与运算符连接而成的合取范式,其中每个子句由若干个文字通过逻辑或运算符连接而成。

主合取范式的形式如下:C1 ∧ C2 ∧ ... ∧ Cn其中Ci表示第i个子句,每个子句由若干个文字通过逻辑或运算符连接而成。

主析取范式是由若干个子句通过逻辑或运算符连接而成的析取范式,其中每个子句由若干个文字通过逻辑与运算符连接而成。

主析取范式的形式如下:C1 ∨ C2 ∨ ... ∨ Cn其中Ci表示第i个子句,每个子句由若干个文字通过逻辑与运算符连接而成。

二、求主析取范式的求解方法求主析取范式的方法主要有两种:真值表法和奎宁-麦克劳斯基算法。

真值表法是一种基于逻辑运算的方法。

它通过构造逻辑表达式的真值表,逐行比较真值表中的值,将真值为真的行转换为主合取范式或主析取范式。

真值表法的优点是简单直观,但当逻辑表达式的字母变量较多时,真值表的大小会呈指数级增长,计算量较大。

奎宁-麦克劳斯基算法是一种基于逻辑运算和逻辑等价转换的方法。

它通过逻辑等价转换将逻辑表达式逐步转化为主合取范式或主析取范式。

奎宁-麦克劳斯基算法的优点是计算量相对较小,但需要一定的逻辑推理能力。

三、求主析取范式的应用求主析取范式在逻辑电路设计中具有重要的应用。

逻辑电路可以通过主析取范式表示为若干个子电路的并联,每个子电路由若干个逻辑门组成。

通过将逻辑门的输出连接到主析取范式的输入端,可以实现逻辑电路的功能。

求主析取范式在自动推理中也有广泛的应用。

求给定命题公式的真值表并根据真值表求公式的主范式

求给定命题公式的真值表并根据真值表求公式的主范式

求给定命题公式的真值表并根据真值表求公式的主范式(求给定命题公式的真值表并根据真值表求公式的主范式)专业网络工程班级 1202班学号 12407442姓名张敏慧2013.12.14目录一.实验目的 .......................................................3二.实验内容 (3)求任意一个命题公式的真值表 ..................................................................... ..... 3 三.实验环境 (3)四. 实验原理和实现过程(算法描述) (3)1.实验原理 ..................................................................... ...................................... 3 2.实验流程图 ..................................................................... .................................. 5 五.实验代码 (6)六. 实验结果 (14)七. 实验总结 (19)- 1 -一.实验目的本实验课程是网络工程专业学生的一门专业基础课程,通过实验,帮助学生更好地掌握计算机科学技术常用的离散数学中的概念、性质和运算;通过实验提高学生编写实验报告、总结实验结果的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。

熟悉掌握命题逻辑中的真值表、主范式等,进一步能用它们来解决实际问题。

二.实验内容求任意一个命题公式的真值表,并根据真值表求主范式详细说明:求任意一个命题公式的真值表本实验要求大家利用C/C,,语言,实现任意输入公式的真值表计算。

一般我们将公式中的命题变元放在真值表的左边,将公式的结果放在真值表的右边。

(完整word版)离散数学习题解答(耿素云屈婉玲)北京大学出版社

(完整word版)离散数学习题解答(耿素云屈婉玲)北京大学出版社

习题一1。

下列句子中,哪些是命题?在是命题的句子中,哪些是简单命题?哪些是真命题?哪些命题的真值现在还不知道?(1)中国有四大发明。

答:此命题是简单命题,其真值为1。

(2答:此命题是简单命题,其真值为1。

(3)3是素数或4是素数.答:是命题,但不是简单命题,其真值为1.x+<(4)235答:不是命题.(5)你去图书馆吗?答:不是命题。

(6)2与3是偶数.答:是命题,但不是简单命题,其真值为0.(7)刘红与魏新是同学.答:此命题是简单命题,其真值还不知道。

(8)这朵玫瑰花多美丽呀!答:不是命题。

(9)吸烟请到吸烟室去!答:不是命题。

(10)圆的面积等于半径的平方乘以π.答:此命题是简单命题,其真值为1。

(11)只有6是偶数,3才能是2的倍数.答:是命题,但不是简单命题,其真值为0。

(12)8是偶数的充分必要条件是8能被3整除.答:是命题,但不是简单命题,其真值为0。

(13)2008年元旦下大雪.答:此命题是简单命题,其真值还不知道。

2。

将上题中是简单命题的命题符号化。

解:(1)p:中国有四大发明.(2)p:是无理数.(7)p:刘红与魏新是同学。

(10)p:圆的面积等于半径的平方乘以π.(13)p:2008年元旦下大雪。

3。

写出下列各命题的否定式,并将原命题及其否定式都符号化,最后指出各否定式的真值.(15.答:否定式5. p5q5.其否定式q的真值为1。

25不是无理数.答:25p25不是无理数。

q25是有理数. 其否定式q的真值为1.(3)2.5是自然数。

答:否定式:2.5不是自然数。

p:2。

5是自然数。

q:2.5不是自然数. 其否定式q的真值为1.(4)ln1是整数。

答:否定式:ln1不是整数. p:ln1是整数。

q:ln1不是整数. 其否定式q的真值为1。

4。

将下列命题符号化,并指出真值.(1)2与5都是素数答:p:2是素数,q:5是素数,符号化为p q∧,其真值为1。

(2)不但π是无理数,而且自然对数的底e也是无理数.答:p:π是无理数,q:自然对数的底e是无理数,符号化为p q∧,其真值为1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
if(OriginalForm[i] == 'P' || OriginalForm[i] == 'Q'|| OriginalForm[i] == 'R')
{
v = OriginalForm[i] == 'P' ? p : OriginalForm[i]== 'Q' ? q : r;
stack.Push(v);
{
string tmp = "";
stack.Push('#');
for(int i = 0; (unsigned)i <OriginalForm.length(); i++)
{
if(OriginalForm[i] == 'P' || OriginalForm[i] == 'Q' ||OriginalForm[i] == 'R' || OriginalForm[i] == 'S' || OriginalForm[i] == 'T' || OriginalForm[i] == 'U')
for(p = 1; p >= 0; p--)
{
for(q = 1; q >= 0; q--)
{
for(r = 1; r >= 0; r--)
{
Calculate();
if(result == 1)
Xiqu =Xiqu +"(" + (p == 1 ? "P" : "!P") + "&" +(q == 1 ? "Q" : "!Q") + "&"
(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY
|FOREGROUND_GREEN|FOREGROUND_BLUE);
//设置绿色和蓝色相加(即青色)
system("cls");//清屏
cout<<"-----------------"<<endl;
cout <<"欢迎使用!"<<endl<<endl;
};
SeqStack::SeqStack(int mSize)
{
maxtop = mSize - 1;
top = -1;
st = new char[mSize];
}
SeqStack::~SeqStack()
{
delete[]st;
}
char SeqStack::Top()
{
return st[top];
二、实验环境(实验设备)
硬件:PC机。
软件:Code::Blocks(C++)
三、实验原理及内容
内容:编程实现用真值表法求任意含三个以内变量的合式公式的主析取范式和主合取范式。
原理:首先读入变元个数,然后读入合式公式,用堆栈的知识将中缀表达式转化为后缀表达式,调用否定、析取、合取、条件、双条件的函数计算P、Q、R取不同真值时合式公式的真值,然后输出真值表,调用计算主析取范式和主合取范式的函数并输出。
cout << " !表示否定" << endl<<endl;
cout << " |表示析取" << endl<<endl;
cout << " &表示合取" << endl<<endl;
cout << " >表示条件" << endl<<endl;
cout << " -表示双条件" << endl;
cout << "主析取范式:"<<Xiqu << endl << endl;
cout << "主合取范式:" << Hequ << endl << endl;
}
int main()
{
int flag=1;
while(flag==1)
{
SetConsoleTextAttribute(GetStdHandle
case '&':i = 9; break;
case '!':i = 11; break;
case ')':i = 12; break;
}
switch(out)
{
case '#':o = 0; break;
case '(':o = 12; break;
case '-':o = 2; break;
case '>':o = 4; break;
stack.Pop();
}
stack.Pop();
}
else
{
do
{
tmp = tmp + stack.Top();
stack.Pop();
} while(!CanIn(OriginalForm[i]));
stack.Push(OriginalForm[i]);
}
}
while(stack.Top() != '#')
}
bool SeqStack::Push(char x)
{
if(top == maxtop)
return false;
st[++top] = x;
return true;
}
bool SeqStack::Pop()
{
if(top == -1)
return false;
top--;
return true;
}
void If() //条件,b->a
{
result = (b == 1 && a == 0) ? 0 : 1;
stack.Push(result);
}
void Doubleif() //双条件
{
result = (b == a) ? 1 : 0;
stack.Push(result);
}
bool CanIn(char out)//优先级的判断
}
int p, q, r, s, t, u;
int a, b, result;
int v =0;
int number;//用number表示变元的个数
SeqStack stack(200);
void Not() //否定
{
a = stack.Top();
stack.Pop();
result = a == 1 ? 0 : 1;
{
Calculate();
if(result == 1)
Xiqu =Xiqu + "("+ (p == 1 ? "P" : "!P") + "&" + (q == 1 ?"Q" : "!Q") + ")" + " | ";
else
Hequ = Hequ + "(" + (p ==0 ? "P" : "!P") + "|" + (q == 0 ? "Q" :"!Q") + ")" + " & ";
case '|':Or(); break;
case '&':And(); break;
case '!':Not(); break;
}
}
}
if(number == 2)
{
for(int i = 0; (unsigned)i <OriginalForm.length(); i++)
{
if(OriginalForm[i] == 'P' || OriginalForm[i] == 'Q')
{
tmp=tmp+OriginalForm[i];
continue;
}
if(CanIn(OriginalForm[i]))
stack.Push(OriginalForm[i]);
else if(OriginalForm[i] == ')')
{
while(stack.Top() != '(')
{
tmp = tmp + stack.Top();
class SeqStack//建立一个堆栈,利用将中缀表达式转为后缀表达式
{
public:
SeqStack(int mSize);
~SeqStack();
char Top();
bool Push(char x);
bool Pop();
private:
char *st;
int top;
相关文档
最新文档