Choć problem już rozwiązany, powiedziałbym Ci jedną rzecz: przerobiłbym troszeczkę Twój kod.
Najpierw niewielkie tło moich rozmyślań: liczba jest parzysta wtedy, kiedy jest podzielna przez 2. Inaczej rzecz ujmując, można ją zapisać jako iloczyn 2*k, gdzie k jest liczbą naturalną. Skoro rand() zwraca liczbę naturalną, może ona posłużyć za nasze k. Myślę mianowicie o:
i = 2*((rand()%10)+1);
Wtedy niepotrzebny jest jeden warunek w while'u, a masz pewność, że już za pierwszym razem otrzymasz liczbę parzystą.