Cod sursa(job #2323120)

Utilizator bogdan2604Bogdan Dumitrescu bogdan2604 Data 18 ianuarie 2019 20:51:03
Problema Evaluarea unei expresii Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.19 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("asd.in");
ofstream g("asd.out");

int num()
{
    nr=0;
    while(i<w && strchr("+-*)",s[i]))
    {
        nr=nr*10+s[i]-'0';
        i++;
    }
    return nr;
}
int main()
{
    f>>s;
    w=strlen(s);
    if(s[0]=='-')
    {
        smn='-';
        i=1;
    }
    while(i<w)
    {
        if(s[i]=='(')
        {
            i++;
            if(s[i]=='-')
            {
                Semnparanteza=1;
                i++;
            }
            while(s[i-1]==')')
            {
                nr=num();
                if(s[i]=='*' || s[i]=='/')
                {
                    tot=nr;
                    semn=s[i];
                    do
                    {
                        nr=num();
                        if(semn=='*')
                            tot*=nr;
                        else
                            tot/=nr;
                        if(s[i]!=')')
                            semn=s[i];
                    }
                    while(s[i]=='*' || s[i]=='/');
                }
             paranteza+=tot;
            }
        }

    }


}