Cod sursa(job #2041202)

Utilizator mihnea00Duican Mihnea mihnea00 Data 16 octombrie 2017 22:16:29
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.22 kb
#include <fstream>
#include <cstring>
#include <vector>

using namespace std;

ifstream fin("evaluare.in");
ofstream fout("evaluare.out");

vector<int> l,v,lnr,lcif;
int i,n,s1,poz,in[110],sari[110],nr,out[110];
char sir[110];

int build()
{
    ++i;
    if(int(sir[i])-48>=0 && int(sir[i])-48<=9)
    {
        nr=nr*10+int(sir[i])-48;
        build();
    }
    else
    {
        lnr.push_back(nr);
        nr=0;
    }
}

int main()
{
    fin.getline(sir,110);
    i=0;
    while(sir[i]!=NULL)
    {
        if(sir[i]=='(')
        {
            l.push_back(i);
        }
        if(sir[i]==')')
        {
            in[++s1]=l[l.size()-1];
            out[s1]=i;
            l.pop_back();
        }
        ++i;
    }
    n=i;
    //out[++s1]=n;
    //in[s1]=0;
    for(int k=1;k<=s1;++k)
    {
        for(i=in[k]+1;i<out[k];++i)
        {
            if(int(sir[i])-48>=0 && int(sir[i])-48<=9)
            {
                poz=i;
                nr=int(sir[i])-48;
                build();
                lcif.push_back(i-poz);
                fout<<lnr[lnr.size()-1]<<" "<<lcif[lcif.size()-1]<<"\n";
            }

        }

    }


    fout<<sir;
    return 0;
}