Tu as aussi plusieurs autres erreurs.
Dans ton do while tu incrémentes la valeur de i, donc s´il vaut 0, il vaudra 1, et la première case de ton tableau (n´oublie pas que ça commence à 0) ne sera pas vérifiée.
Ensuite, le test booléen que tu utilises dans le while est faux.
Suppose que tab[i] vale 8, il est évidemment pair, donc le %2 va renvoyer 0, mais i vaut 3, donc (i != n) va renvoyer 1, et étant donné que tu utilises un || et que 0 || 1 = 1, ton while va continuer à tourner, préfère donc un && et un opérateur d´inégalité.
Fais aussi attention à l´indentation, je te dis ça parce que je sais pas si c´est le cas étant donné la mise en page pourrie de JV.com, mais dès fois une bonne indentation du code peut te sauver la vie ^^
Voici la version corrigée :
http://rafb.net/p/ajg4KV47.html