(i != 0 || i != ii)
Si ii est différent de zéro, ce test est toujours vrai. Tu devrais remplacer || par &&.