Pagini recente » Cod sursa (job #1244588) | Cod sursa (job #2180653) | Cod sursa (job #473157) | Istoria paginii runda/preojigim | Cod sursa (job #1882441)
#include <bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(0);
#define tie cin.tie(0);
#define mp make_pair
#define ll long long
#define PII pair<int, int>
#define PLL pair<ll, ll>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
int n;
char s[100100];
char *p = s;
int evaluate();
int ter();
int fac()
{
int r;
if (*p == '(') ++p, r = evaluate(), ++p;
else{ r = 0; while (*p >= '0' && *p <= '9') r = r * 10 + *p - '0', ++p; }
return r;
}
int ter()
{
int r = fac();
while (*p == '*' || *p == '/')
{
if (*p == '*') ++p, r *= fac();
else ++p, r /= fac();
}
return r;
}
int evaluate()
{
int r = ter();
while (*p == '+' || *p == '-')
{
if (*p == '+') ++p, r += ter();
else ++p, r -= ter();
}
return r;
}
int main(){
IOS tie
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
cin >> s;
cout << evaluate();
cerr << "Fucking time elapsed: " << clock() * 1000.0 / CLOCKS_PER_SEC << " ms" << '\n';
return 0;
}