Cod sursa(job #2815942)

Utilizator KPP17Popescu Paul KPP17 Data 10 decembrie 2021 17:34:51
Problema Evaluarea unei expresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define mF "evaluare"
std::ifstream in(mF ".in");
std::ofstream out(mF ".out");
char V[100001], *i = V; int A();
int D()
{
	int r = 0; while ('0' <= *i and *i <= '9') (r *= 10) += *i++ - '0';
	return r;
}
int C() {return *i++ == '('? A(): (--i, D());}
int B()
{
	int r = C(); for (;;) {switch (*i++)
	{case '*': r *= C(); continue; case '/': r /= C(); continue;} break;}
	return --i, r;
}
int A()
{
	int r = B(); for (;;) {switch (*i++)
	{case '+': r += B(); continue; case '-': r -= B(); continue;} break;}
	return r;
}
int main() {in >> V; out << A();}