esto es un error
while ((contador%2)!=0);
{
impares++;
}
ya que si contador es impar, el entrará al ciclo, sumará 1 al impar, preguntará ¿contador es impar?, de ser cierto, repite...
es un ciclo infinito
tienes algunas formas de hacer esto...
la forma matematica, una sola linea
int impares = (numero_ingresado-16)/2 + numeroingresado%2;
el ciclo especifico (solo pasa por los que quieres contar)
int impares=0;
for(contador=16;contador<=numero_ingresado;contador+=2){//a+=b, es lo mismo que a=a+b
impares++;
}
y el ciclo con if
int impares=0;
for(contador=16;contador<=numero_ingresado;contador++{
if(contador%2!=0){
impares++;
}
}