#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){
if(!resp) break;
switch(resp){
case 1:
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){
} else {
stack[sp++] = value;
}
}
int pop(void)
{
if(sp <= 0){
printf("スタックが空で取り出せませんでした\n"); return 0;
} else {
return stack[--sp];
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgdmFsdWUpOwppbnQgcG9wKHZvaWQpOwoKaW50IG1haW4odm9pZCkKewogICAgc3AgPSAwOwogICAgaW50IHJlc3AsIGRhdGE7CgogICAgd2hpbGUoMSl7CiAgICAgICAgaWYoIXJlc3ApIGJyZWFrOwoKICAgICAgICBzd2l0Y2gocmVzcCl7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIHByaW50ZigicHVzaCA6ICIpOwogICAgICAgICAgICAgICAgc2NhbmYoIiVkIiwgJmRhdGEpOwogICAgICAgICAgICAgICAgcHVzaChkYXRhKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBwb3AoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgcHJpbnRmKCJzcD0lZFxuIiwgc3ApOwogICAgfQoKICAgIHByaW50ZigiXG4iKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBzcDsgaSsrKQogICAgICAgIHByaW50Zigic3RhY2tbJWRdPSVkIFxuIiwgaSwgc3RhY2tbaV0pOwoKICAgIHJldHVybiAwOwp9Cgp2b2lkIHB1c2goaW50IHZhbHVlKQp7CiAgICBpZihzcCA+PSBTSVpFKXsKICAgICAgICBwcmludGYoIuOCueOCv+ODg+OCr+OBjOa6gOadr+OBp+WFpeOCiuOBvuOBm+OCk+OBp+OBl+OBn1xuIik7CiAgICB9IGVsc2UgewogICAgICAgIHN0YWNrW3NwKytdID0gdmFsdWU7CiAgICB9Cn0KCmludCBwb3Aodm9pZCkKewogICAgaWYoc3AgPD0gMCl7CiAgICAgICAgcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwogICAgICAgIHJldHVybiAwOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gc3RhY2tbLS1zcF07CiAgICB9Cn0=