Помогите найти ошибку, при выполнении пишет не удается найти программу, и указанный файл.
#include
#include
#include
#include
#define STACKSIZE 50
int stackPTR = 0;
long int stack[STACKSIZE] = {0.0};
int string_equal(const char* first, const char *second)
{
return (strcmp(first, second) == 0);
}
int pop(void)
{
int returnNum;
returnNum = stack[stackPTR];
if (stackPTR > 0)
{
stackPTR--;
}
return returnNum;
}
int push(int num)
{
int i;
stack[++stackPTR] = num;
assert(stackPTR < (STACKSIZE + 1));
if (stackPTR == STACKSIZE)
{
for (i = 0; i < STACKSIZE; i++)
stack[i] = stack[i + 1];
stackPTR = STACKSIZE - 2;
}
return num;
}
// http://en.wikipedia.org/wiki/Reverse_Polish_notation
int main()
{
char input[50];
long int numIn;
int sum, oP;
while(scanf("%s", input) != EOF)
{
numIn = atoi(input);
if(numIn == 0)
{
if(string_equal(input, "+"))
{
sum = push(pop() + pop());
}
else if (string_equal(input, "-"))
{
sum = push(pop() - pop());
}
else if (string_equal(input, "*"))
{
sum = push(pop() * pop());
}
else if (string_equal(input, "/"))
{
sum = push(pop() / pop());
}
}
else
{
push(numIn);
}
}
printf("%d\n", pop());
return 0;
}
// 2 2 + = 4
// 2 5 + 7 * = 49
// 3 4 + 7 / = 1
// 12 2 - 5 / = 2
// 5 1 - = 4
// 1 0 2 * + = 1
// 1 1 1 1 1 1 + +-+ += 0
// 5 1 2 + 4 × + 3 − = 14