#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 (scanf("%d", &resp
) != 1) break; if(!resp) break;
switch(resp){
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"); return 0;
}else{
return stack[--sp];
}
}
int isFull(void){
if(sp==SIZE){
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgNQppbnQgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChpbnQgdmFsdWUpOwppbnQgcG9wKHZvaWQpOwoKaW50IG1haW4odm9pZCkgewoJc3AgPSAwOwoKCWludCByZXNwLCBkYXRhOwoJCgl3aGlsZSgxKXsKCQlwcmludGYoIjE6cHVzaCAyOnBvcCAwOmVuZCA6ICIpOwoJCgkJaWYgKHNjYW5mKCIlZCIsICZyZXNwKSAhPSAxKSBicmVhazsKCQlpZighcmVzcCkgYnJlYWs7CgkJCgkJc3dpdGNoKHJlc3ApewoJCQljYXNlIDE6IHByaW50ZigicHVzaCA6ICIpOwoJCQlzY2FuZigiJWQiLCZkYXRhKTsKCQkJcHVzaChkYXRhKTsKCQkJYnJlYWs7CgkJCWNhc2UgMjogcG9wKCk7CgkJCWJyZWFrOwoJCX0KCQlwcmludGYoInNwPSVkXG4iLHNwKTsKCX0KCXByaW50ZigiXG4iKTsKCWZvcihpbnQgaT0wOyBpPHNwOyBpKyspewoJCXByaW50Zigic3RhY2tbJWRdPSVkIFxuIixpLHN0YWNrW2ldKTsKCX0KCXJldHVybiAwOwp9Cgp2b2lkIHB1c2goaW50IHZhbHVlKQp7CglpZihzcD49U0laRSl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ/jgIJcbiIpOwoJfWVsc2V7CgkJc3RhY2tbc3ArK10gPSB2YWx1ZTsKCX0KfQoKaW50IHBvcCh2b2lkKXsKCWlmKHNwPD0wKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBn1xuIik7CgkJcmV0dXJuIDA7Cgl9ZWxzZXsKCQlyZXR1cm4gc3RhY2tbLS1zcF07Cgl9Cn0KaW50IGlzRnVsbCh2b2lkKXsKCWlmKHNwPT1TSVpFKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOa6gOadr+OBp+OBmeOAglxuIik7Cgl9Cn0=