Pagini recente » Cod sursa (job #816982) | Cod sursa (job #2874881) | Cod sursa (job #2401172) | Cod sursa (job #2709736) | Cod sursa (job #2105618)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("bool.in");
ofstream g("bool.out");
char s[1001],ch;
short n,i;
bool ok[91];
bool si();
bool nu();
bool sau()
{
bool r;
r=si();
while(s[i]=='O' && s[i+1]=='R')
{
i=i+3;
r=r|si();
}
return r;
}
bool si()
{
bool r;
r=nu();
while(s[i]=='A' && s[i+1]=='N')
{
i=i+4;
r=r&nu();
}
return r;
}
bool nu()
{
bool r;
if(s[i]=='(')
{
i++;
r=sau();
i++;
}
else if(s[i]=='T' && s[i+1]=='R')
{
i=i+5;
r=1;
}
else if(s[i]=='F' && s[i+1]=='A')
{
i=i+6;
r=0;
}
else if(s[i]=='N' && s[i+1]=='O')
{
i=i+4;
r=!nu();
}
else if(s[i]>='A' && s[i]<='Z')
{
i=i+2;
r=ok[int(s[i])];
}
return r;
}
int main()
{
for(i=65;i<=90;++i) ok[i]=0;
f.getline(s,1001);
f>>n;
for(short j=1;j<=n;++j)
{
f>>ch;
ok[int(ch)]=!ok[int(ch)];
i=0;
g<<sau();
}
return 0;
}