#include
#include
#define MAX_SIZE 100
typedef struct STACK
{
int data[MAX_SIZE];
int top;
}STACK;
void Init(STACK* p)
{
p->top = -1;
}
int Is_empty(STACK* p)
{
return (p->top == -1);
}
void Push(STACK* p, int data)
{
if (Is_full(p))
{
printf("스택이 꽉찼습니다\n"); return;
}
else
{
p->data[++(p->top)] = data;
}
}
int Pop(STACK* p)
{
if (Is_empty(p))
{
printf("스택이 비어있습니다\n");
return -1;
}
return p->data[(p->top)--];
}
int CheckMaching(char* str)
{
STACK t;
int i, len = strlen(str);
char ch, open_ch;
Init(&t);
for (i = 0; i {
ch = str[i];
switch (ch)
{
case '(':
case '[':
case '{':
Push(&t, ch);
break;
case ')':
case ']':
case '}':
if (Is_empty(&t)) return false;
else
{
open_ch = Pop(&t);
if ((open_ch == '(' && ch != ')') ||
(open_ch == '[' && ch != ']') ||
(open_ch == '{' && ch != '}'))
{
return false;
}
}
break;
}
}
if (!Is_empty(&t)) return false;
return true;
}
int main()
{
char str[50];
if (CheckMaching(gets(str)))
printf("괄호 검사 성공\n");
else
printf("괄호 검사 실패\n");
return 0;
}
인터넷 소스 있던거 따라쳐서 볼려는데 오류가 떠서 그런데
어떻게 해야하나요???
선언되지 않은 식별자입니다. - dc App
#include 뒷내용 다 빠져있네 - dc App
return 1이나 0으로 숫자 넣자. include 뒤에 채워넣자
C++라고쳐도 int인데 bool 반환하고있네
C99부터 stdbool.h라이브러리로 bool타입 사용가능