peidui.cpp

来自「括号配对」· C++ 代码 · 共 48 行

CPP
48
字号
#include<iostream.h>
typedef char datetype;
#include"D:\Myc++\7顺序栈\stact.cpp"
int panduan(char *string,int &count)
{
	linkstact *Astact = setNULLstact ();
	for(int i=0; string[i];i++)
	{
		if(string[i] == '{'||string[i] == '('||string[i] == '[')
		{  count++;
			Astact  = instact (Astact,string[i]);
			continue;
		}
	    if(string[i] == '}'||string[i] == ')'||string[i] == ']')
		{   if(emptystact(Astact))  return 0;
		if(string[i] == '}'&&outtop(Astact) =='{') {outstact(Astact); continue;}
		if(string[i] == ']'&&outtop(Astact) =='[') {outstact(Astact); continue;}
		if(string[i] == ')'&&outtop(Astact) =='(') {outstact(Astact); continue;}
		return 0;
		}
	}
		if(emptystact(Astact)) return 1;
		return 0;
} 
void main ()
{
	  cout<<"本程序是判断输入的表达式中的括号是不是配对的 ~!"<<endl;
	  cout<<"   eg  { [( a+b) % (a-b)] - a%(c+a)}"<<endl<<endl;
	 	char string1[max];
	int count=0;
	cout<<"输入你的表达式:";
	cin >>string1 ;
     int panduan1 =panduan(string1,count);
	 if(count)
	 {
	   if(panduan1)
		cout<<"配对正确~!"<<endl;
	  else cout<<"配对不正确~!"<<endl;
		}
		else
			cout<<"你的表达式中没有括号呀~!"<<endl;
}




	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?