안녕하세요. 왈바 여러분 도와주세요.
스택과 큐에 관한 과제물 인데요..에러는 없는데 결과값이 이상합니다. 좀 도와주세요.ㅜ.ㅜ
제출은 둘째치고 답답해서 숨넘어가기 일보직전.......!@#$%^&*
고수님들 힘을 빌려 주세요~~~
#include<stdio.h>
int top;
int stack[3];
int Queue[3];
int data;
int head=0,tail=0;
push()
{
stack[++top] = data;
return 0;
}
pop()
{
stack[top--] = 0;
return 0;
}
stackwrite()
{
int i;
printf("Stack : ");
for(i=top;i>0;i--)
printf("%3d",stack[i]);
return 0;
}
Q_push()
{
Queue[tail++] = data;
return 0;
}
Q_pop()
{
Queue[head++] = 0;
return 0;
}
Q_write()
{
int i;
printf("\nQueue : ");
for (i=head;i<tail;i++)
printf("%3d",Queue[i]);
return 0;
}
void main()
{
int ch;
printf ("**************************************\n");
printf ("1. add 2. delete 3.exit\n");
printf ("**************************************\n");
for(;;)
{
printf("\n\nChoose : ");
scanf ("%d",&ch);
printf("\n");
if (ch==1)
{
if (top > 2)
{
printf("overflow ...\n");
break;
}
printf("Input : ");
scanf("%3d",&data);
push();
Q_push();
stackwrite();
Q_write();
}
if (ch==2)
{
if (top == 0)
{
printf("underflow ...\n");
break;
}
pop();
Q_pop();
stackwrite();
Q_write();
}
if (ch==3)
{
break;
}
}
}
스택과 큐에 관한 과제물 인데요..에러는 없는데 결과값이 이상합니다. 좀 도와주세요.ㅜ.ㅜ
제출은 둘째치고 답답해서 숨넘어가기 일보직전.......!@#$%^&*
고수님들 힘을 빌려 주세요~~~
#include<stdio.h>
int top;
int stack[3];
int Queue[3];
int data;
int head=0,tail=0;
push()
{
stack[++top] = data;
return 0;
}
pop()
{
stack[top--] = 0;
return 0;
}
stackwrite()
{
int i;
printf("Stack : ");
for(i=top;i>0;i--)
printf("%3d",stack[i]);
return 0;
}
Q_push()
{
Queue[tail++] = data;
return 0;
}
Q_pop()
{
Queue[head++] = 0;
return 0;
}
Q_write()
{
int i;
printf("\nQueue : ");
for (i=head;i<tail;i++)
printf("%3d",Queue[i]);
return 0;
}
void main()
{
int ch;
printf ("**************************************\n");
printf ("1. add 2. delete 3.exit\n");
printf ("**************************************\n");
for(;;)
{
printf("\n\nChoose : ");
scanf ("%d",&ch);
printf("\n");
if (ch==1)
{
if (top > 2)
{
printf("overflow ...\n");
break;
}
printf("Input : ");
scanf("%3d",&data);
push();
Q_push();
stackwrite();
Q_write();
}
if (ch==2)
{
if (top == 0)
{
printf("underflow ...\n");
break;
}
pop();
Q_pop();
stackwrite();
Q_write();
}
if (ch==3)
{
break;
}
}
}
댓글 달기