⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bool.cpp

📁 bool:you will be given two bool statements and your assignment is to check it right or wrong.
💻 CPP
字号:
#include<iostream>
#include<string>

using namespace std;

int main()
{
	char str[100];
	char stack1[100];
	char stack2[100];
	char wet[100][100];
	char nibo[100];
	char ayy[100];
    char array[10][20];
	char boss;
	int v;
	int D = 0;
	int top3;
	do
	{ 	int top1 = 0;
	    int top2 = 0;
        int i = 0, j = 0, t = 0, M = 0, Z = 0, v = 0, r = 1;
	do
	{
		i++;
		cin>>str[i];
	}while( str[i] != '#' );
    boss = str[1];
while( boss != '#' )
{
	if( ( boss >= 'a' ) && ( boss <= 'e' ) )
	{  
		int U = 0;
		int B = j;
		for( int I = 1; I <= B; I++ )
		{
			if( boss == nibo[I] )
			{
				j++;
				nibo[j] = boss;
				U++;
			}
		}
        if( U == 0 )
			{
		         t++;
		         j++;
		         nibo[j] = boss;
			}
	}
	else if( boss == '(' )
	{
		top1++;
		stack1[top1] = boss;
	}
	else if( ( boss == '!' ) || ( boss == '&' ) || ( boss == '|' ) )
	{
        top1++;
		stack1[top1] = boss;
	}
	else if( boss == ')' )
	{
		while( stack1[top1] != '(' )
		{
			j++;
			nibo[j] = stack1[top1];
			top1--;
		}
		top1--;
	}
	r++;
	boss = str[r];
}
while( top1 != 0 )
{
	j++;
	nibo[j] = stack1[top1];
	top1--;
}

for( char h = '0'; h <= '1'; h++ )
{    
   for( char i = '0'; i <= '1'; i++ )
	{
	     for( int y = 1; y <= j; y++ )
		 {  	
			 ayy[y] = nibo[y];          
		 }
		if( t <= 2 )
		{
			cout<<h<<"   "<<i<<"   ";
			int k = 1;
			for( int g = 1; g <= j; g++ )
			{
				if( ayy[g] >= 'a' && ayy[g] <= 'e' )
				{
					if( k == 1 )
					{
						ayy[g] = h;
						k++;
					}
					else 
						ayy[g] = i;
					top2++;
					stack2[top2] = ayy[g];
				}
				else
				{
					boss = ayy[g];
					switch( boss )
					{
					case '&' :    { 
						          if( ( stack2[top2] == '1' ) && ( stack2[top2-1] == '1' ) )
								  {									 
									  stack2[top2-1] = '1';
									  top2--;
								  }
								  else
								  {                                        
									  stack2[top2-1] = '0';
									  top2--;  
								  }
								  break;
							   }
					case '|' : {
						          if( stack2[top2] == '1' || stack2[top2-1] == '1' )
								  { 
									  stack2[top2-1] = '1';
									  top2--;
								  }
								  else
								  {
									  stack2[top2-1] = '0';
									  top2--;
								  }
								  break;
							   }
					case '!' : {
						        if( stack2[top2] == '1' )
								{
									stack2[top2] = '0';
								}
								 else 
									 stack2[top2] = '1';
								 break;
							   }
            
					}
				}
				
			}
			v++;
			array[D][v] = stack2[top2];
			cout<<stack2[top2]<<endl;
			top2--;
		}
		else 
		{
           for( char l = '0'; l <= '1'; l++ )
		   {
               for( int x = 1; x <= j; x++ )
			   {
			            ayy[x] = nibo[x];
			   }
			   if( t <= 3 )
			   {
                   
				   cout<<h<<"  "<<i<<"  "<<l<<"  ";
				   int w = 1;
				   for( int u = 1; u <= j; u++ )
				   {
					   if( ( ayy[u] >= 'a' ) && ( ayy[u] <= 'e' ) )
					   {
						   if( w == 1 )
						   {
							   ayy[u] = h;
							   w++;
						   }
                           else if( w == 2 )
						   {   
							   int K = 0;
							   while( top3 != 0 )
							   {
								   if( ayy[u] == wet[top3][1] )
								   {   
									  if( top3 == 1 )
									  {
									      ayy[u] = h;
									  }
									  else if( top3 == 2 )
									  {
										  ayy[u] = i;
									  }
									  else
									  {
										  ayy[u] = l;
									  }
									  K++;
									  break;
								   }
                                   top3--;
								   }
							     if( K == 0 )  
								   {
							          ayy[u] = i;
								      w++;
								   }
							   
						   }
						   else 
						   { 
							   int K = 0;
							   while( top3 != 0 )
							   {
								   if( ayy[u] == wet[top3][1] )
								   {   
									  if( top3 == 1 )
									  {
									      ayy[u] = h;
									  }
									  else if( top3 == 2 )
									  {
										  ayy[u] = i;
									  }
									  else
									  {
										  ayy[u] = l;
									  }
									  K++;
									  break;
								   }
                                   top3--;
								   }
                             if( K == 0 )
							 {
							    ayy[u] = l;
							 }
						   }
						   top2++;
						   top3 = top2;
						   stack2[top2] = ayy[u];
						   wet[top3][1] = ayy[u];
					   }
 	                else
					{
					  boss = ayy[u];
				  	  switch( boss )
					  {
					  case '&' :      { 
						              if( ( stack2[top2] == '1' ) && ( stack2[top2-1] == '1' ) )
									  {    
									      stack2[top2-1] = '1';									 
									      top2--;
									  }
								      else
									  {
									  
									      stack2[top2-1] = '0';
									      top2--;
									  }
								      break;
									  }
					    case '|' :     {
							           if( ( stack2[top2] == '1' ) || ( stack2[top2-1] == '1' ) )
									   { 
									       stack2[top2-1] = '1';
									       top2--;
									   }
								      else
									  {
									      stack2[top2-1] = '0';
									      top2--;
									  }
								      break;
								   }
				     	case '!' :   {
						          if( stack2[top2] == '1' )
								  {
									stack2[top2] = '0';
								  }
								   else 
									 stack2[top2] = '1';
								 break;
									 }
					  }
				}
					
			}
			v++;
		    array[D][v] = stack2[top2];
			cout<<stack2[top2]<<endl;
			top2--;
		}
	else 
	{
		for( char m = '0'; m <= '1'; m++ )
		{
           for( int f = 1; f <= j; f++ )
		   {
			   ayy[f] = nibo[f];
		   }
			if( t <= 4 )
			{
			       cout<<h<<"  "<<i<<"  "<<l<<"  "<<m<<"  ";
				   int P = 1;
				   for( int B = 1; B <= j; B++ )
				   {
					   if( ayy[B] >= 'a' && ayy[B] <= 'e' )
					   {
						   if( P == 1 )
						   {
							   ayy[B] = h;
							   P++;
						   }
                           else if( P == 2 )
						   {
							   int K = 0;
							   while( top3 != 0 )
							   {
								   if( ayy[B] == wet[top3][1] )
								   {   
									  if( top3 == 1 )
									  {
									      ayy[B] = h;
									  }
									  else if( top3 == 2 )
									  {
										  ayy[B] = i;
									  }
									  else if( top3 == 3 )
									  {
										  ayy[B] = l;
									  }
									  else
									  { 
										  ayy[B] = m;
									  }
									  K++;
									  break;
								   }
                                   top3--;
								   }
                             if( K == 0 )
							 {
							     ayy[B] = i;
                                 P++;
							 }
						   }
						   else if( P == 3 )
						   {

                               int K = 0;
							   while( top3 != 0 )
							   {
								   if( ayy[B] == wet[top3][1] )
								   {   
									  if( top3 == 1 )
									  {
									      ayy[B] = h;
									  }
									  else if( top3 == 2 )
									  {
										  ayy[B] = i;
									  }
									  else if( top3 == 3 )
									  {
										  ayy[B] = l;
									  }
									  else
									  { 
										  ayy[B] = m;
									  }
									  K++;
									  break;
								   }
                                   top3--;
								   }
                             if( K == 0 )
							 {
							     ayy[B] = l;
                                 P++;
							 }
							  
						   }
						   else
						   {
                             int K = 0;
							   while( top3 != 0 )
							   {
								   if( ayy[B] == wet[top3][1] )
								   {   
									  if( top3 == 1 )
									  {
									      ayy[B] = h;
									  }
									  else if( top3 == 2 )
									  {
										  ayy[B] = i;
									  }
									  else if( top3 == 3 )
									  {
										  ayy[B] = l;
									  }
									  else
									  { 
										  ayy[B] = m;
									  }
									  K++;
									  break;
								   }
                                   top3--;
								   }
                             if( K == 0)
							 {
							     ayy[B] = m;
                                 
							 }
							  
						   }
							   
						   top2++;
						   top3 = top2;
						   stack2[top2] = ayy[B];
						   wet[top3][1] = ayy[B];
					   }
 	                else
					{
					  boss = ayy[B];
				  	  switch( boss )
					  {
					  case '&' : { 
						          if( stack2[top2] == '1' && stack2[top2-1] == '1' )
								  { 
									  stack2[top2-1] = '1';
									  top2--;
								  }
								  else
								  {
									  stack2[top2-1] = '0';
									  top2--;
								  }
								  break;
							   }
					    case '|' : {
						          if( stack2[top2] == '1' || stack2[top2-1] == '1' )
								  { 
									  stack2[top2-1] = '1';
									  top2--;
								  }
								  else
								  {
									  stack2[top2-1] = '0';
									  top2--;
								  }
								  break;
							   }
				     	case '!' : {
						        if( stack2[top2] == '1' )
								{
									stack2[top2] = '0';
								}
								 else 
									 stack2[top2] = '1';
								 break;
							   }
					}
				}
			}
			v++;
			array[D][v] = stack2[top2];
			cout<<stack2[top2]<<endl;
			top2--;
		}
	else
	{
	for( char n = '0'; n <= '1'; n++ )
	{ 
         for( int d = 1; d <= j; d++ )
		 {
			 ayy[d] = nibo[d];
		 }
			if( t <= 5 )
			{
			 cout<<h<<"  "<<i<<"  "<<l<<"  "<<m<<"  "<<n<<"  ";
				   int V = 1;
				   for( int C = 0; C <= j; C++ )
				   {
					   if( ayy[C] >= 'a' && ayy[C] <= 'e' )
					   {
						   if( V == 1 )
						   {
							   ayy[C] = h;
							   V++;
						   }
                           else  if( V == 2 )
						   {
							   ayy[C] = i;
							   V++;
						   }
						   else if( V == 3 )
						   {
							   ayy[C] = l;
							   V++;
						   }
						   else  if( V == 4 )
						   {
                               ayy[C] = m;
							   V++;
						   }
						   else
							   ayy[C] = n;
						   top2++;
						   stack2[top2] = ayy[C];
					   }
 	                else
					{
					  boss = ayy[C];
				  	  switch( boss )
					  {
					  case '&' : { 
						          if( stack2[top2] == '1' && stack2[top2-1] == '1' )
								  { 
									  stack2[top2-1] = '1';
									  top2--;
								  }
								  else
								  {
									  stack2[top2-1] = '0';
									  top2--;
								  }
								  break;
								 }
					    case '|' : {
						          if( stack2[top2] == '1' || stack2[top2-1] == '1' )
								  { 
									  stack2[top2-1] = '1';
									  top2--;
								  }
								  else
								  {
									  stack2[top2-1] = '0';
									  top2--;
								  }
								  break;
								   }
				     	case '!' : {
						        if( stack2[top2] == '1' )
								{
									stack2[top2] = '0';
								}
								 else 
									 stack2[top2] = '1';
								 break;
								   }
					}
				}
			}
			v++;
			array[D][v] = stack2[top2];
			cout<<stack2[top2]<<endl;
			top2--;
		}
	}
	}
	}
	}
	}
	}
	}
	}
	D++;

	}while( D == 1 );
	
	int Y = 0;

	for( int J = 1; J <= v; J++ )
	{
		if( array[0][J] != array[1][J] )
		{
			Y++;
		}
	}
	if( Y == 0 )
	{
		cout<<"Equal!"<<endl;
	}
	else
		cout<<"Not equal!"<<endl;

    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -