主题:[讨论]括弧匹配问题,请大家帮忙写个算法,最好是个完整的程序。
xuexiziji
[专家分:90] 发布于 2006-04-04 16:25:00
假设一个算术表达式中,包含圆括弧,方括弧,花括弧三种类型的括弧
,编写一个判别表达式中括弧是否正确配对的函数。correct(exp,tag)
其中exp为字符串型的变量,表示被判别的表达式,tag为布尔型变量。
谢谢!
回复列表 (共5个回复)
沙发
rickone [专家分:15390] 发布于 2006-04-04 19:33:00
有人已经发过了,找找置顶帖
板凳
冷月星光 [专家分:16520] 发布于 2006-04-04 20:01:00
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char str[20];
char stack[20];
char* p=stack;
int i=0;
bool Match=true;
cout<<"Input: "<<endl;
cin>>str;
cout<<str<<endl;
for(i=0;i<strlen(str)&&Match;i++)
{
switch(str[i]){
case '(':
case '[':
*p++=str[i];
break;
case ')':
if(*--p!='(')
{
cout<<"Not Match"<<endl;
Match=false;
}
break;
case ']':
if(*--p!='[')
{
cout<<"Not Match"<<endl;
Match=false;
}
break;
default:
cout<<"Input Error!"<<endl;
break;
}
}
if(Match)
cout<<"Match"<<endl;
getche();
}
//什么也不说了,我上学期的作业
3 楼
冷月星光 [专家分:16520] 发布于 2006-04-04 20:01:00
还有迷宫求解,会是你们下次的作业,到时候再说吧
4 楼
xuexiziji [专家分:90] 发布于 2006-04-05 15:25:00
老大,我不懂C++啊,用C语言好吗。
5 楼
goaway [专家分:0] 发布于 2009-03-19 09:06:00
还是用了栈的思想啊,可否不用栈的思想写一个和用栈差不多简单的?
我来回复