Pagini recente » Cod sursa (job #2101709) | Cod sursa (job #467768) | Cod sursa (job #1360653) | Cod sursa (job #150926) | Cod sursa (job #2923059)
#include<bits/stdc++.h>
using namespace std;
ifstream f("bool.in");
ofstream g("bool.out");
int fv[40],poz;
char s[1005];
char c;
bool sau();
bool si();
bool termen();
bool sau()
{
bool val=si();
if(s[poz]=='O' && s[poz+1]=='R')
{
poz+=3;
val|=si();
}
return val;
}
bool si()
{
bool val=termen();
if(s[poz]=='A' && s[poz+1]=='N')
{
poz+=4;
val&=termen();
}
return val;
}
bool termen()
{
bool val=0;
if(s[poz]=='(')
{
poz++;
val=sau();
poz++;
}
else
if(s[poz]=='T' && s[poz+1]=='R')
{
poz+=5;
val=1;
}
else
if(s[poz]=='F' && s[poz+1]=='A')
{
poz+=6;
val=0;
}
else
if(s[poz]=='N' && s[poz+1]=='O')
{
poz+=4;
val=!termen();
}
else
{
poz+=2;
val=fv[s[poz-2]-'A'];
}
return val;
}
int main()
{
int n,i;
f.getline(s,1001);
f>>n;
f.get();
for(i=1;i<=n;i++)
{
f>>c;
if(fv[c-'A']==0)
fv[c-'A']=1;
else
fv[c-'A']=0;
poz=0;
g<<sau();
}
return 0;
}