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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Help! Calcular máximo de 3 numeros usando función
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Help! Calcular máximo de 3 numeros usando función  (Leído 4,023 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Help! Calcular máximo de 3 numeros usando función
« en: 17 Febrero 2013, 12:52 pm »

Estoy realizando un programa que calcula el máximo de tres números usando una función que nos de el máximo de dos números


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int mayor(int num){
  6.  
  7. int main(){
  8.  
  9. int num1, num2, num3;
  10. int max, mayor;
  11.  
  12. printf("Introduce un numero: ");
  13. scanf("%d",&num1);
  14. printf("Introduce un numero: ");
  15. scanf("%d",&num2);
  16. printf("Introduce un numero: ");
  17. scanf("%d",&num3);
  18.  
  19. max = mayor(num1, num2);
  20.  
  21. printf("El mayor es: %d %d", mayor(max, num3));
  22.  
  23.  
  24.  system("PAUSE");
  25.  return 0;
  26. }
  27.  
  28.  
  29. // FUNCION
  30. int mayor(int num){
  31.  
  32.  
  33. if (num1 > num2){
  34.        return num1;
  35. else
  36.        return num2;
  37. }
  38.  


Al compilar me da error en "max = mayor(num1, num2);" que puede ser?



Saludos


En línea

maxim_o

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: Help! Calcular máximo de 3 numeros usando función
« Respuesta #1 en: 17 Febrero 2013, 13:06 pm »

// FUNCION
int mayor(int num){
 
 
if (num1 > num2){
        return num1;
else
        return num2;
}

El problema esta en la funcion, y el prototipo, tu en la funcion solo tienes un valor como parametro, cuando le estas pasando dos.....

Y luego dentro de la funcion no lo llamas como el parametro....

seria :

int mayor(int num1 , int num2){
 
 
if (num1 > num2){
        return num1;
else
        return num2;
}


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Help! Calcular máximo de 3 numeros usando función
« Respuesta #2 en: 17 Febrero 2013, 17:09 pm »

Estoy realizando un programa que calcula el máximo de tres números usando una función que nos de el máximo de dos números


Además de en los argumentos de la función, tienes varios errores menores que te comento en el código:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int mayor(int n1,int n2);/*aqui tenias"{" en lugar de ;*/
  5.  
  6. int main(){
  7.  int num1, num2, num3;
  8.  int max; /*<==aqui esta de mas "mayor"*/
  9.  printf("Introduce un numero: ");
  10.  scanf("%d",&num1);
  11.  printf("Introduce un numero: ");
  12.  scanf("%d",&num2);
  13.  printf("Introduce un numero: ");
  14.  scanf("%d",&num3);
  15.  max = mayor(num1, num2);
  16.  printf("El mayor es: %d \n", mayor(max, num3));/*y aqui tenias dos %d */
  17.  system("PAUSE");
  18.  return 0;
  19. }
  20. // FUNCION
  21. int mayor(int n1,int n2){
  22. if (n1 > n2)
  23.        return n1;
  24. else
  25.        return n2;
  26. }
  27.  

Aunque sería más guay calcular el máximo con una función que calcule el máximo de tres:

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int mayor(int n1,int n2,int n3);
  6.  
  7.  int main(){
  8.  
  9.  int num1, num2, num3;
  10.  int max;
  11.  
  12.  printf("Introduce un numero: ");
  13.  scanf("%d",&num1);
  14.  printf("Introduce un numero: ");
  15.  scanf("%d",&num2);
  16.  printf("Introduce un numero: ");
  17.  scanf("%d",&num3);
  18.  max = mayor(num1, num2,num3);
  19.  printf("El mayor es: %d \n", max);
  20.  system("pause");
  21.  return 0;
  22. }
  23. // FUNCION
  24. int mayor(int n1,int n2,int n3){
  25.  if ((n1= n1>n2 ? n1:n2)>(n3))
  26.    return n1;
  27.  else
  28.  return n3;
  29. }
  30.  

Saluditos!.
En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: Help! Calcular máximo de 3 numeros usando función
« Respuesta #3 en: 17 Febrero 2013, 21:27 pm »

Con esto ocupas menos código y también usas funciones.

http://www.cplusplus.com/reference/algorithm/max/
En línea

sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: Help! Calcular máximo de 3 numeros usando función
« Respuesta #4 en: 18 Febrero 2013, 11:22 am »

Muchas gracias por corregirme los errores de esa forma, lo he entendido mejor  ;-)



Saludos
En línea

BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: Help! Calcular máximo de 3 numeros usando función
« Respuesta #5 en: 18 Febrero 2013, 23:34 pm »

Para un caso general (n datos) el problema se puede resolver con distintos algoritmos. Unos con unas ventajas y desventajas y otros con otras... Como ocurre siempre :P
En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
maximo de 5 numeros (PYTHON)
Scripting
Tuplado 6 13,486 Último mensaje 20 Junio 2018, 01:42 am
por elflamas30
Calcular el máximo usando operador '?'
Programación C/C++
85 5 4,992 Último mensaje 22 Febrero 2013, 16:32 pm
por rir3760
Función para calcular los números de Fibonacci
Programación C/C++
Caster 4 3,056 Último mensaje 18 Mayo 2013, 14:00 pm
por Caster
Calcular máximo de matriz, error
Programación C/C++
Puntoinfinito 7 5,003 Último mensaje 18 Julio 2013, 11:58 am
por Puntoinfinito
calcular funcion edad con funcion fecha de nacimiento « 1 2 »
Programación C/C++
dragonlady 12 25,196 Último mensaje 28 Septiembre 2015, 22:37 pm
por 0xFer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines