#include <iostream> 
	using namespace std; 
	// Programa de controle iluminação de escadas entre andares de um prédio de 04 andares( térreo e 03 andares) 
	    const int UM=1; 
	    const int ZERO=0; 
	    const int MIN = UM; 
	    const int MAX = 5 ; 
	    int BT[MAX], SPT1[MAX], SP12[MAX], SP2U[MAX], L1[MAX], L12[MAX], L2U[MAX], DIM ;// variaveis globais 
	    char TECLA; 
	     
	        int LEITURA(){ 
	            int I ;  
	            for(I = ZERO;I < DIM; I++ ){ 
	                cout<<"\nDigite ZERO ou UM entre espacos para os sensores SPT1,SP12,SP2U: "<<endl; 
	                do{     
	                    cout<<"\nDigite ZERO ou UM para o sensor SPT1: "<<endl; 
	                    cin>> SPT1 ; 
	                }while(SPT1!=ZERO &&SPT1!=UM ); 
	                do{     
	                    cout<<"\nDigite ZERO ou UM para o sensorSP12: "<<endl; 
	                    cin>> SP12; 
	                }while(SP12!=ZERO &&SP12!=UM ); 
	                 
	                do{     
	                    cout<<"\nDigite ZERO ou UM para o sensorSP2U: "<<endl; 
	                    cin>> SP2U;     
	                }while(SP2U!=ZERO&& SP2U!=UM); 
	            } 
	         
	    }
 
	     int botaoteste() { 
	         int I; 
	         for(I = ZERO;I < DIM; I++ ){ 
	            do{ 
	                cout << "\n\tDigite ZERO ou UM para BT: " ; 
	                cin >>  BT; 
	                cout << "\n Voce digitou "<<BT<<endl; 
	            }while(BT<ZERO || BT>UM); 
	            if(BT==UM){ 
	                SPT1=UM;SP12=UM;SP2U=UM; 
	                if(L1==ZERO||L12==ZERO||L2U==ZERO){ 
	                    cout<<"\n\t\tLampadas defeituosas,substitua o elemento desfeituoso\n\n" <<endl; 
	                } 
	                } 
	                     
	                } 
	        } 
	         
	    int sensores() { 
	        int I ;  
	        for(I=ZERO;I < DIM; I++ ){ 
	                L1=SPT1; 
	                L12=SPT1|SP12; 
	                L2U=SP12|SP2U;//Equações do mapa de Karnaugh// 
	            if(L1==ZERO &&L12==ZERO &&L2U==ZERO){ 
	                cout<< "Sem circulação pelas escadas"<<endl; 
	                } 
	            else{ 
	                if(L1==UM){ 
	                    cout<<"Circulacao entre andares terreo e primeiro"<<endl; 
	                    }     
	                if(L12==UM){ 
	                    cout<<"Circulacao entre andares primeiro e segundo"<<endl; 
	                } 
	                    if(L2U==UM){ 
	                        cout<<"Circulacao entre andares segundo e ultimo"<<endl; 
	                    } 
	                } 
	                 
	                } 
	    } 
	         
	    int main(){ 
	     
	            do{  
	                    do{ 
	                        cout<<"\nDigite a dimensao dos vetores(entre 1 e 5): "; cin >> DIM ; 
	                    }while(DIM < MIN || DIM > MAX); 
	             
	                botaoteste(); //Testar valor de BT 
	                LEITURA();//leitura dos sensores 
	                sensores(); 
	                cout<< "\n\n\tDigite F ou f para encerrar o programa: "; 
	                cin>> TECLA; 
	            }while(TECLA!='F'&&TECLA!='f'); 
	        cout << "\n\n";     
	        }