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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda con numeros pares, pero utilizando funciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con numeros pares, pero utilizando funciones  (Leído 6,585 veces)
razyhook

Desconectado Desconectado

Mensajes: 3


Ver Perfil
ayuda con numeros pares, pero utilizando funciones
« en: 5 Agosto 2015, 08:39 am »

buenas, en la universidad, me mandaron a hacer el programa de saber de un grupo de numero, cuales son los pares y publicarlos, pero utilizando las funciones. despues de varios intento lo logro, pero tengo un error, que me estan saliendo unos -2, intercalado del numero par.

esta es la codificación.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int pares(int numero1)
  5.  
  6. {
  7. int z;
  8.  
  9.  
  10. if(numero1%2==0)
  11.  
  12. {
  13. z=numero1;
  14. }
  15.  
  16.  
  17. return z;
  18. }
  19.  
  20. int main()
  21. {
  22. int n1, n2, c, resultado;
  23.  
  24. do
  25. {
  26. printf("\n ingrese el primer numero: ");
  27. scanf("%i", &n2);
  28. printf("\n por favor diga el numero final: ");
  29. scanf("%i", &n1);
  30.  
  31. if(n1<n2)
  32. {
  33. printf("\n opcion invalida, por favor, el numero final no puede ser mayor que el inicial");
  34. }
  35. }
  36. while(n1<n2);
  37.  
  38.  
  39. printf("\n los valores par son: ");
  40.  
  41. for(c=n2; c<=n1; c++)
  42. {
  43. printf("\n %i", pares(c));
  44. }
  45. }

Mod: Los códigos deben ir en etiquetas GeSHi



« Última modificación: 5 Agosto 2015, 08:45 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #1 en: 5 Agosto 2015, 08:49 am »

procura siempre inicializar las variables porque pueden contener basura...

Código:
int z = 0;


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.
razyhook

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #2 en: 6 Agosto 2015, 00:58 am »

mira como sale:



hace el trabajo, pero ese menos 2, me esta afectando el programa :C

ya acomode la variable.

Código:
#include <stdio.h>
#include <stdlib.h>
 
int pares(int numero1)
 
{
int par;
 
 
if(numero1%2==0)
 
{
par=numero1;
}
 
 
return par;
}
 
int main()
{
int n1, n2, c, resultado;
 
do
{
printf("\n ingrese el primer numero: ");
scanf("%i", &n2);
printf("\n por favor diga el numero final: ");
scanf("%i", &n1);
 
if(n1<n2)
{
printf("\n opcion invalida, por favor, el numero final no puede ser mayor que el inicial");
}
}
while(n1<n2);
 
 
printf("\n los valores par son: ");
 
for(c=n2; c<=n1; c++)
{
printf("\n %i", pares(c));
}
}
« Última modificación: 6 Agosto 2015, 01:01 am por razyhook » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #3 en: 6 Agosto 2015, 01:15 am »

simplemente ignoraste mi ultimo mensaje -.- así seguro avanzamos rapido
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.
A.I.

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #4 en: 6 Agosto 2015, 01:26 am »

Es indiferente que inicialice esa variable, en lugar de devolver basura devolverá un 0, que aquí también es basura. De hecho esa variable sobra. Esa función no te devuelve sólo los números pares, ni dice si un número es par o impar. Tu función debería ser una función "booleana" que devuelva si el número que le pasas  es par o no..

Código
  1. int Es_Par(int numero){
  2.  
  3.  if(numero%2==0)
  4.  
  5.    {
  6.      return 1; //True
  7.    }
  8.  
  9.  return 0; //False
  10. }

Y luego adaptar la parte del main que imprime los números en función de lo que devuelva ésta.

Consejo: usa nombres descriptivos en las variables.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #5 en: 6 Agosto 2015, 01:28 am »

Es indiferente que inicialice esa variable, en lugar de devolver basura devolverá un 0, que aquí también es basura.


depende del compilador y los parámetros de compilación, normalmente es basura...


en resto en tal caso sería
Código
  1. int Es_Par(int numero){
  2.  
  3.  if(numero%2==0)
  4.  
  5.    {
  6.      return numero; //True
  7.    }
  8.  
  9.  return 0; //False
  10. }
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.
A.I.

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #6 en: 6 Agosto 2015, 01:38 am »


depende del compilador y los parámetros de compilación, normalmente es basura...


en resto en tal caso sería
Código
  1. int Es_Par(int numero){
  2.  
  3.  if(numero%2==0)
  4.  
  5.    {
  6.      return numero; //True
  7.    }
  8.  
  9.  return 0; //False
  10. }

No me has entendido, yo decía que inicializarla a 0 es exactamente igual que dejarla con basura en este caso. El resultado va a ser un número arbitrario que no te sirve de nada, es decir basura.

El código que tu has escrito hace exáctamente lo mismo que el que yo he escrito, devuelve false (0) si no es par, o true (cualquier número que no sea 0) si es par. Sí no modifica la parte en la que se imprimen los números, que deberían ser sólo los pares, va a imprimir 0 en los impares en lugar de basura.

En línea

razyhook

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #7 en: 6 Agosto 2015, 06:42 am »

ok, con respecto a lo booleano

Código:
	for(c=n2; c<=n1; c++)
{
printf("\n %i", Es_Par(c));
}
}

en este codigo tiene que aver una forma, no se si remplazo el for u otro comando para que publique, mi error lo tengo es en el printf :C, bueno segun lo veo asi.. pq el publicara el valor que tenga el residuo  :/


se que es molesto, pero soy novato en esto de funciones. disculpen mi ignoracia.
« Última modificación: 6 Agosto 2015, 06:46 am por razyhook » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #8 en: 6 Agosto 2015, 06:46 am »

en tal caso, usa la función de A.I. y la parte de

Código
  1. for(c=n2; c<=n1; c++)
  2. {
  3. printf("\n %i", Es_Par(c));
  4. }
  5. }

modificala como

Código
  1. for(c=n2; c<=n1; c++)
  2. {
  3. if(Es_Par(c)==1){
  4. printf("\n %i",c);
  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.
A.I.

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: ayuda con numeros pares, pero utilizando funciones
« Respuesta #9 en: 6 Agosto 2015, 21:23 pm »



Código
  1. if(Es_Par(c)==1){
  2. }


Código
  1. if(Es_Par(c))
En línea

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 29,462 Último mensaje 17 Abril 2009, 03:41 am
por <sylar>
[Problema] Programa para averiguar números pares entre 2 números
Programación Visual Basic
Dreamaker 3 5,840 Último mensaje 21 Mayo 2010, 23:45 pm
por Shell Root
dev c++ arreglos de numeros pares
Programación C/C++
nicolas2696 1 7,372 Último mensaje 23 Junio 2014, 02:58 am
por engel lex
Contador de Digitos Numeros Pares
Programación C/C++
Seeven 3 8,545 Último mensaje 21 Septiembre 2014, 10:26 am
por Seeven
Como generar numeros aleatorios pares?
Programación C/C++
lucas59 4 14,166 Último mensaje 1 Octubre 2014, 18:12 pm
por Shout
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines