[求助]一个困扰很久的问题!!~~~~~~~~

qvbnlaw 2010-04-29 02:54:43
RT。。。我们老师最近要求我们写个程序。。要求如下:输入离散数学中的一个命题公式,例如:(P∨Q)→R。。。然后输出他的真值表。。。例如:
P Q R PVQ (P∨Q)→R
0 0 0 0 0
0 0 1 0 0
我想了很久都没有思路!!!!希望哪位达人可以给我讲下写这个程序的详细思路!!!!非常感谢!!!!!!(嗨!!!求了这么多次。。还是没有找到解决的办法!!!还是再求一次把!!!)
...全文
207 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
uestcshe 2010-05-02
  • 打赏
  • 举报
回复
难道就是些位运算操作
qvbnlaw 2010-05-02
  • 打赏
  • 举报
回复
真的很谢谢各位!!!!非常感谢!!!
g315580086 2010-05-01
  • 打赏
  • 举报
回复
不是很懂
lz3771 2010-05-01
  • 打赏
  • 举报
回复
是否可以转为后缀表达式
qvbnlaw 2010-05-01
  • 打赏
  • 举报
回复
感谢各位。。。我就是想知道。。。如果有括号应该怎么做?。。
程序员牛哥 2010-04-30
  • 打赏
  • 举报
回复
P Q R PVQ (P∨Q)→R
0 0 0 0 0
0 0 1 0 0
楼主先把离散学好吧!
不要太急!提示:位运算
cattycat 2010-04-30
  • 打赏
  • 举报
回复
主要是判断输入是∧还是∨操作,两层的for循环应该可以,p,q取值只有0和1,这个就是| & !的运算就可以了。
比如
for(p=0;p<=1;p++)
for(q=0;q<=1;q++)
printf("%d %d %d\n",p,q,p|q)

对于复杂的比较长的布尔表达式,需要用数组表示所有的变量,还要考虑带括号,优先级的问题了。
qvbnlaw 2010-04-30
  • 打赏
  • 举报
回复
这个。。离散是学得不怎么样。。。呵呵!!。。。可是有蛮多问题。。。
ImJaden 2010-04-29
  • 打赏
  • 举报
回复
还没有想过这么复杂的程序呢!
xinzaiyiqi 2010-04-29
  • 打赏
  • 举报
回复
首先得定义各种逻辑运算,如∨等符号代表的运算集合,即1∨1=1,1∨0=1,0∨0=0。函数中用switch很易实现;
接着输入的公式用字符数组存储;
对数组元素进行扫描,遇到已定义符号,如c[i]是∨,将c[i-1],c[i],c[i+1]带入作为参数;若是单目运算符,就少一个参数了;
要是有括号,就比较麻烦,想的不太成熟。遇到右括号,就向前遍历,找到第一个左括号,将这一小段公式运算结果暂存,作为一个参数参与其他运算。
没太仔细想,看看吧,能对有什么启示没?
zjs2010 2010-04-29
  • 打赏
  • 举报
回复
看来我还得回家学数学
renguosheng 2010-04-29
  • 打赏
  • 举报
回复
这个难吗???P,V,P∨V,还有R,只有P∨V为T,R为F的时候,这个式子为F,其他的都为真,循环一下就行了呀!!!!
tianma2005123 2010-04-29
  • 打赏
  • 举报
回复
离散数学曾经还学的不错,现在多忘干净了。。。哈哈
magic7004 2010-04-29
  • 打赏
  • 举报
回复
离散数学不懂~~
ThirtyFantasy 2010-04-29
  • 打赏
  • 举报
回复
先实现每种运算;
然后把输入表达式转换成逆波兰表达式;
再求值?
向立天 2010-04-29
  • 打赏
  • 举报
回复
能不能用语言描述一下这个公式什么意思
不过一般设计到真值表的操作都和逻辑运算有关
比如A+B=C
这个逻辑式的真值表为
0 0 0
0 1 1
1 0 1
1 1 1
注意
前两列是递增的关系
所以用程序我会这么实现
for(int i=0; i<4; i++)
{
int a, b, c;
a=i&0x1;//取最低位
b=i&0x2;//取倒数第二位
c=a||b;
cout<<a<<'\t'<<b<<'\t'<<c<<endl;
}
一家之言、仅供参考
pingpo 2010-04-29
  • 打赏
  • 举报
回复
你是怎么想的?
一点想法都没有?
ThirtyFantasy 2010-04-29
  • 打赏
  • 举报
回复
问题没弄明白。离散数学不懂
qvbnlaw 2010-04-29
  • 打赏
  • 举报
回复
自己顶起!!!!
qvbnlaw 2010-04-29
  • 打赏
  • 举报
回复
自己顶起!!!!

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧