Pagini recente » Cod sursa (job #944019) | Cod sursa (job #1356057) | Cod sursa (job #1167958) | Cod sursa (job #2449856) | Cod sursa (job #964077)
Cod sursa(job #964077)
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char ee[100013], *it;
int sol();
int num(){
int nr = 0;
if(*it=='('){it++; nr=sol(); it++;} else {
while(*it>='0'&&*it<='9'){
nr=nr*10+*it-'0';
it++;
}
}
return nr;
}
int fct(){
int pro = num();
while(*it=='*'||*it=='/'){
if(*it=='*'){it++; pro*=num();}
if(*it=='/'){it++; pro/=num();}
}
return pro;
}
int sol(){
int sum = fct();
while(*it=='+'||*it=='-'){
if(*it=='+'){it++; sum+=fct();}
if(*it=='-'){it++; sum-=fct();}
}
return sum;
}
int main(){
f >> ee;
it=ee;
g << sol();
return 0;
}