elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa que cuenta impares
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa que cuenta impares  (Leído 6,902 veces)
talbarb

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Programa que cuenta impares
« en: 29 Mayo 2015, 21:13 pm »

Hola buenas a todos, soy nueva en esto y queria ayuda con un pequeño programilla. Necesito que me cuente los numeros impares que hay entre el numero 16 y un numero que introduzca el usuario. Lo que tengo hecho es esto:

Código
  1. #include<stdio.h>
  2.  
  3. int main(void)
  4. {
  5. int numero, contador, impares=0;
  6.  
  7. printf("Introduzca un numero: ");
  8. scanf("\n%d", &numero);
  9.  
  10. for(contador=16; contador<=numero; contador++);
  11. {
  12. while ((contador%2)!=0);
  13. {
  14. impares++;
  15.  
  16. }
  17.  
  18. }
  19. printf("Hay %d numeros impares entre el 16 y %d", impares,numero);
  20. return(0);
  21. }

El problema es que siempre me dice que solo hay un numero impar.

Muchas gracias de antemano.

Mod: Los códigos deben ir en etiquetas GeSHi


« Última modificación: 29 Mayo 2015, 21:21 pm por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Programa que cuenta impares
« Respuesta #1 en: 29 Mayo 2015, 21:30 pm »

esto es un error

Código
  1. while ((contador%2)!=0);
  2. {
  3. impares++;
  4.  
  5. }

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

Código
  1. int impares = (numero_ingresado-16)/2 + numeroingresado%2;

el ciclo especifico (solo pasa por los que quieres contar)
Código
  1. int impares=0;
  2. for(contador=16;contador<=numero_ingresado;contador+=2){//a+=b, es lo mismo que a=a+b
  3.  impares++;
  4. }

y el ciclo con if

Código
  1. int impares=0;
  2. for(contador=16;contador<=numero_ingresado;contador++{
  3.  if(contador%2!=0){
  4.    impares++;
  5.  }
  6. }
  7.  


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con programa numeros pares e impares:P « 1 2 »
.NET (C#, VB.NET, ASP)
<sylar> 18 28,897 Último mensaje 17 Abril 2009, 03:41 am
por <sylar>
Calcular numeros impares, de 0 a n. « 1 2 »
Programación C/C++
Vicks 15 14,285 Último mensaje 22 Febrero 2012, 18:41 pm
por Caster
Pares e impares
Programación C/C++
Anastacio 5 5,027 Último mensaje 7 Marzo 2012, 19:36 pm
por Eternal Idol
Me presento y me gustaría un ayudita ordenamiento de impares e pares
Programación C/C++
luis456 6 3,818 Último mensaje 8 Diciembre 2012, 13:31 pm
por luis456
Programa en C (Pares e Impares)
Programación C/C++
sora_ori 1 9,487 Último mensaje 15 Abril 2013, 15:40 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines