Tu in programul ala citesti intai primul x, apoi iei corect cifra unitatilor si a zecilor pentru acel x.
Pentru primul x tu cresti acolo acel contor prima data cand se executa while.
Apoi citesti noul x, verifici daca nu ai citit un 0, si incepe din nou sa se execute acel while.
Pana aici totul e super! Dar ceva nu merge, am intrat a doua oara in while, am citit un nou x, acuncem la acel if din while care compara u cu z, dar u siz nu le-ai actualizat cu unitatile si zecile noului x citit! Tu mereu in acel for vei compara zecile si unitatile de la PRIMUL x ala citit inainte de while. Trebuie dupa fiecare citire a lui x sa recalculezi u si z pentru noul x.