스택, 수정 부탁드려요 쉬운문젠데 .........
해가빛
#include stdio.h
#define MAX_STACK_SIZE 10
int g_nArray[MAX_STACK_SIZE] = {0,};
int g_nTop = -1 ;
bool IsEmpty()
{
if(g_nTop == -1)
return true;
return false;
}
bool IsFull()
{
if(g_nTop = MAX_STACK_SIZE -1)
return true;
return false;
}
bool Push(int nValue)
{
if(IsFull() == true)
{
printf([error]stack overflow.\n);
return false;
}
g_nTop++;
g_nArray[g_nTop] = nValue;
printf(Push(%d)\n,nValue);
return true;
}
bool Pop(int *pnValue)
{
if(pnValue == NULL)
{
printf([error] invalid parameter.\n);
return false;
}
if(IsEmpty() == true)
{
printf([error]stack underflow.\n);
return false;
}
*pnValue = g_nArray[g_nTop];
g_nTop--;
printf(Pop(%d)\n, *pnValue);
return true;
}
void PrintStack()
{
printf(Printstack():);
for(int i=g_nTop; i=0; i--)
printf(%d, g_nArray[i]);
printf(\n);
}
int main()
{
int nValue = 0;
int i=0;
int data;
for(i=0; i10; i++)
{
printf(데이터를 입력해주세요.\n);
Push();
}
PrintStack();
Pop(&nValue);
Pop(&nValue);
Pop(&nValue);
Pop(&nValue);
Pop(&nValue);
return 0;
}main에서 for문 돌려서 입력 받은다음에 만약에 10 들어오면
스택이 다 출력되고
모든 원소가 다 빠져나가믄 스택 empty되서 종료하는 프로그램 짜려고 하는데
main 부분 어떻게 해야할 지 모르겠어요 수정부탁드려요 ㅠㅠ