- Codice:
bool checkone(int v[],int dim){
if(dim<=0) return false;
else if(dim==1){
if(v[0]==1) return true;
else return false;
}
else return checkone(v+1,dim-1);
}
bool check(int v[],int dim,int from){
if(dim<=2) return false;
if(from>=dim) return true;
else if(dim==3){
if((v[0]==0) && (v[1]==1) && (v[2]==0)) return true;
else return false;
}
else if((v[from]!=v[dim-1])&&(v[0]!=0)) return false;
else if(v[from]==0) {
return check(v+1,dim-2,from+1);
}
else if(v[from]==1) return checkone(v+1,dim-2);
else return false;
}
Però ci sono dei problemi...ad esempio legge anche stringhe con tutti 1 oppure non legge stringhe del tipo 0110
Per stasera la chiudo qui che non ragiono più. Riproverò sicuramente domani