int loop()
{
std::vector<int *>::iterator it = shuzu.begin();
std::vector<int *>::iterator end = shuzu.end();
int *oparray = (int *)malloc(sizeof(int)*(size+count));
for( ; it != end; ++it)
{
int *temarray = *it;
void cal(int *temp)
{
for(int i = 0 ; i < size + count; ++i)
{
switch(temp[i])
{
case '+':
{
float a = Stack.pop();
float b = Stack.pop();
float c = a + b;
Stack.push(c);
}
break;
case '-':
{
float a = Stack.pop();
float b = Stack.pop();
float c = b - a;
Stack.push(c);
}
break;
case '*':
{
float a = Stack.pop();
float b = Stack.pop();
float c = a * b;
Stack.push(c);
}
break;
case '/':
{
float a = Stack.pop();
float b = Stack.pop();
if( a == 0)
{
Stack.clear();
return;
}
float c = b / a;
Stack.push(c);
}
break;
default:
Stack.push((float)temp[i]);
break;
}
}
float result = Stack.pop();
if(result == (float)total)
{
for(int i = 0; i < size + count; ++i)
{
char op = (char)temp[i];
if( op == '+' || op == '-' || op == '*' || op == '/')
printf(" %c",op);
else
printf(" %d",temp[i]);
}
printf("\n");
}
}