👤

Sa se verifice ca un vector cu n componente numere intregi are proprietatea: elementele sale sunt cifre binare alternative({0,1,0,1,0,1...} sau {1,0,1,0,1,0...}) .

Răspuns :

Setezi un flag1 care sa stocheze daca cumva a gasit ceva gresit flag1=0;
faci un for si parcurgi vectorul, si verifici daca numerele pare sunt 1 si cele impare 0:
for(i=0;i<n;i++)
{
    if(i%2==0&&v[i]!=1)
    {
        flag1=1;
    }
    if(i%2==1&&v[i]!=0)
    {
        flag1=1;
    }
}

boon, acum am verificat prima varianta, cu numerele pare 1 si impare 0
Daca a gasit vreo greseala seteaza flag1=1... acum daca a gasit o greseala, trebuie sa verificam daca nu cumva e cealalta varianta, cea corecta, deci flag2=0 si:

if(flag1==1)
{
    for(i=0;i<n;i++)
    {
        if(i%2==1&&v[i]!=1)
        {
            flag2=1;
        }
        if(i%2==0&&v[i]!=0)
        {
            flag2=1;
        }
    }
}

apoi, verificam daca unul din flaguri e corect :D

if(flag1==0||flag2==0){
    cout<<"Vectorul are aceasta proprietate";
}
else
{
    cout<<"Vectorul NU are aceasta proprietate";
}