Informatică, întrebare adresată de m1234, 9 ani în urmă

Cerința
Un vector cu elemente 0 sau 1 se numește alternativ dacă oricum am lua două elemente vecine în vector, cel puțin unul dintre ele este 0.
Se dă un vector cu n elemente, numere naturale. Verificați dacă vectorul este alternativ.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire
Programul va afișa pe ecran mesajul DA, dacă vectorul este alternativ, respectiv NU în caz contrar.
Restricții și precizări
1 ≤ n ≤ 1000 cele n numere citite vor fi 0 sau 1
C++

Răspunsuri la întrebare

Răspuns de Gillga
3
Deci un vector ca sa fie alternativ nu trebuie sa gasim doi de 1 pe pozitii consecutive asa ca put si simplu folosesti un bool pentru verificare de exemplu:
bool ok=1;
apoi verifici daca in vector sunt doi de 1 consecutivi de exemplu
for (int i=0;i <n-1;i++)
if (v [i] == 1 )
if (v [i] == v [i+1] )
{
ok=0;
i=n;
}

For-ul se opreste la n-1 deoarece daca oricum am verificat penultimul element cu ultimul, nu avem cu ce mai verifica ultimul, acesta ne fiind urmat de un element . Verificam daca pe pozitia care suntem exista un 1 in caz afirmativ verificam daca se afla 1 pe urmatoarea pozitie, in caz afirmativ punem ok=0 pentru ca nu e sir alternativ, in rest continuam, la final verificam cum stam cu ok, daca ramane 1 e alternativ, daca e 0 nu este alternativ.


Cod:
#include <iostream>
using namespace std;

int main ()

int n,v [50];

cin>>n;
for (int i=0;i <n;i++)
cin>>v [i];


bool ok=1;

for (int i=0;i <n;i++)
if (v [i] == 1 )
if (v [i] == v [i+1] )
{
ok=0;
i=n;
}

if (ok)
cout <<"DA";
else
cout <<"NU";


return 0;
}



Sper sa mearga bine si daca ai intrebari nu ezita sa intrebi.

bafta :)

m1234: putem inlocui bool cu altceva ? sau ce inseamna bool?
Gillga: da bool poti inlocuii cu int, bool e un tip de date ce poate lua doar 2 valori : true (1) si false (0) deobicei e folosit ca semafor sa verifice daca trece sau nu ^-^
Gillga: poti pune pur si simplu int initializat cu 1 si ii pui 0 cand gasesti ceva ce nu convine :)
Alte întrebări interesante