Błąd, a==0 nie a=0
if((a=0)&&(liczba[i]!=liczba[a]))
oraz
if((a=0)&&(liczba[i]!=liczba[a]))
cout<<liczba[i];//liczba jest wypisywana
else
i--;
niepotrzebnie dałeś else, jeżeli if się nie spełni a nie spełni się to nigdy gdy już wylosujesz np 2 liczby to zawsze spełni się else czyli zawsze będzie kręcić się pętla główna :) Gdy usuniesz else i popraiwsz równość == to bedzie okey + dodaj przejscia do nowej lini lub przecinki po kazdym wylosowaniu :)