回 帖 发 新 帖 刷新版面

主题:[讨论]括弧匹配问题,请大家帮忙写个算法,最好是个完整的程序。

假设一个算术表达式中,包含圆括弧,方括弧,花括弧三种类型的括弧
,编写一个判别表达式中括弧是否正确配对的函数。correct(exp,tag)
其中exp为字符串型的变量,表示被判别的表达式,tag为布尔型变量。

谢谢!

回复列表 (共5个回复)

沙发

有人已经发过了,找找置顶帖

板凳

#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 楼

还有迷宫求解,会是你们下次的作业,到时候再说吧

4 楼

老大,我不懂C++啊,用C语言好吗。

5 楼

还是用了栈的思想啊,可否不用栈的思想写一个和用栈差不多简单的?

我来回复

您尚未登录,请登录后再回复。点此登录或注册