#include <stdio.h>
#define SIZE 5
int stack[SIZE];
int sp;
void push(int value);
int pop(void);
int main(void){
sp=0;
int resp,data;
while(1){
printf("1:push 2:pop 0:end ");
if(!resp) break;
switch(resp){
case 1:scanf("%d",&data
); push(data);
break;
case 2:pop();
break;
}
}
for(int i=0;i<sp;i++){
printf("stack[%d]=%d\n",i
,stack
[i
]); }
return 0;
}
void push(int value){
if(sp>=SIZE){
printf("スタックが満杯ではいりませんでした\n"); }else{
stack[sp++]=value;
}
}
int pop(void){
if(sp<=0){
printf("スタックが空で取り出せませんでした\n"); }else{
return stack[--sp];
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgdmFsdWUpOwppbnQgcG9wKHZvaWQpOwoKaW50IG1haW4odm9pZCl7CglzcD0wOwoJaW50IHJlc3AsZGF0YTsKCQoJd2hpbGUoMSl7CgkJcHJpbnRmKCIxOnB1c2ggMjpwb3AgMDplbmQgIik7CgkJc2NhbmYoIiVkIiwmcmVzcCk7CgkJCgkJaWYoIXJlc3ApIGJyZWFrOwoJCXN3aXRjaChyZXNwKXsKCQkJY2FzZSAxOnNjYW5mKCIlZCIsJmRhdGEpOwoJCQlwdXNoKGRhdGEpOwoJCQlicmVhazsKCQkJY2FzZSAyOnBvcCgpOwoJCQlicmVhazsKCQl9CgkJcHJpbnRmKCJzcD0lZFxuIixzcCk7Cgl9CglwcmludGYoIlxuIik7CgkJZm9yKGludCBpPTA7aTxzcDtpKyspewoJCQlwcmludGYoInN0YWNrWyVkXT0lZFxuIixpLHN0YWNrW2ldKTsKCQl9CglyZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGludCB2YWx1ZSl7CglpZihzcD49U0laRSl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgafjga/jgYTjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwoJfWVsc2V7CgkJc3RhY2tbc3ArK109dmFsdWU7Cgl9Cn0KCmludCBwb3Aodm9pZCl7CglpZihzcDw9MCl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwoJfWVsc2V7CgkJcmV0dXJuIHN0YWNrWy0tc3BdOwoJfQp9