Răspuns :

Răspuns:

#include <iostream>

using namespace std;

long long num, zerocons, prima, prec, cif;

int main()

{

   cin >> num;

   prec=num %10; num/=10;

   while (num)

   {

       cif=num%10;

       if (cif==0)

       {

           if (prec==0)

           {

               if (prima==0) {zerocons+=2; prima=1;}

               else  ++zerocons;

           }

       }

       else prima=0;

       prec=cif;

       num/=10;

   }

   cout << zerocons;

}

Explicație:

Variabile folosite:

"zerocons", e clar, isi canta numele... :))

"cif", e cifra curenta cercetata

"prec", memorizeaza cifra precedenta

"prima", iata cu asta e mai complicat... ea semnalizeaza o prima aparitie a doua zerouri consecutive, nu neaparat sa fie prima in numar..

De exemplu avem numarul 3000200005

Numarul se parcurge de la dreapta la stanga.

prec ia valoarea 5, cif e 0, nu se memorizeaza perechea consecutiva,prec ia valoarea 0, se trece la urm 0, adica cif=0

faca si prec=0 si e prima pereche consecutiva, atunci zerocons creste cu 2, si prima=1, altfel zerocons creste cu 1.

Daca se intalneste o cifra diferita de zero, atunci prima=0, pentru a depista in continuare iara 2 zerouri consecutive...

:)))   nu sunt sigur daca am fost explicit...  nai meditezi asupra codului, si poti da si intrebari...  Succese la cercetare.