/*
#include<stdio.h>
int main()
{
int i,j,k,n,m,top = -1,num=0;
int stack[201]= {};
char str[201]= {};
gets(str);
for (i=0; i<strlen(str); i++)
{
if ('0'<=str[i] && str[i]<='9')
{
num=num*10+str[i]-'0';
if(str[i+1]==' ')
{
stack[++top] = num;
num=0;
}
}
else if(str[i]!=' ')
{
int x = stack[top--];
int y = stack[top--];
if (str[i] == '*')
{
stack[++top]=x*y;
}
else if (str[i] == '+')
{
stack[++top] = x+y;
}
else if(str[i] == '-')
{
stack[++top] = y-x;
}
}
}
printf("%d",stack[top]);
}
#include<stdio.h>
int main()
{
char str[100001]={};
int i,j,n,k,top = 0,sum=0;
gets(str);
for (i=0;i<strlen(str);i++)
{
if (str[i] == '(' && str[i+1] == ')')
{
sum+=top;
i++;
}
else if (str[i] == '(')
{
top++;
}
else if (str[i] == ')')
{
top--;
sum++;
}
}
printf("%d",sum);
}
#include<stdio.h>
#define SIZE 5
int stack[SIZE]={};
int top=-1;
void push(int data){
if(top==SIZE-1){
printf("스택이 가득참\n");
return ;
}
stack[++top]=data;
printf("%d를 push 완료 \n", data);
}
void pop(){
if(top==-1){
printf("스택이 비어있음\n");
}
else{
printf("pop data is : %d\n",stack[top--]);
}
}
void view(){
printf("stack >> ");
for(int i=0;i<=top;i++) printf("%d ",stack[i]);
printf("\n");
}
int main(){
int a, b, c, d;
while(1){
printf("\n1. push 2. pop 3. view 4.exit >>");
scanf("%d",&a);
if(a==1){
printf("push 할 데이터를 입력하세요 >>");
scanf("%d",&b);
push(b);
}
else if(a==2){
pop();
}
else if(a==3){
view();
}
else{
printf("프로그램을 종료합니다.. \n");
return 0;
}
}
}
*/
#include<stdio.h>
#define SIZE 5
int queue[SIZE]={};
int rear=-1, front=-1;
void enqueue(int m)
{
if (rear == SIZE-1)
{
printf("배열이 가득 참 .\n");
return ;
}
queue[++rear] = m;
printf("%d이(가) QUEUE에 들어갔습니다\n",m);
for (int i = 0;i<=rear;i++)
{
printf("%d ",queue[i]);
}
}
int main()
{
int i,j,k,n,m;
while(1)
{
printf("\n1.ENQUEUE 2.DEQUEUE 3.VIEW 4.EXIT : ");
scanf("%d",&n);
if (n == 1)
{
printf("넣을 데이터를 입력하세요 : ");
scanf("%d",&m);
enqueue(m);
}
}
}
선생님 코드==========================
#include<stdio.h>
#define SIZE 5
int stack[SIZE]={};
int top=-1;
void push(int data){
if(top==SIZE-1){
printf("스택이 가득참\n");
return ;
}
stack[++top]=data;
printf("%d를 push 완료 \n", data);
}
void pop(){
if(top==-1){
printf("스택이 비어있음\n");
}
else{
printf("pop data is : %d\n",stack[top--]);
}
}
void view(){
printf("stack >> ");
for(int i=0;i<=top;i++) printf("%d ",stack[i]);
printf("\n");
}
int main(){
int a, b, c, d;
while(1){
printf("\n1. push 2. pop 3. view 4.exit >>");
scanf("%d",&a);
if(a==1){
printf("push 할 데이터를 입력하세요 >>");
scanf("%d",&b);
push(b);
}
else if(a==2){
pop();
}
else if(a==3){
view();
}
else{
printf("프로그램을 종료합니다.. \n");
return 0;
}
}
}