Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

hosting en interdominios
163 lecturas y 13 respuestas
  • Boca de Pez Boca de Pez
    0

    funcion sobrecargada

    2.Por qué razón se genera error al incluir en un programa las siguientes funciones? (Para responder a la pregunta debe crear un programa de ejemplo donde pruebe dichas funciones. Incluya dicho programa como parte de su respuesta)
    int mayor(int a, int b) {
    if (a>b)
    return a;
    return b;
    }
    int mayor(int m, int n) {
    return (n>m ? n : m);
    }

    Este tema lleva más de 6 meses inactivo. Es recomendable que abras un nuevo tema para retomar la conversación.
    • 12

      Aunque no hayas dicho ni un simple gracias, y encima dando…

      Aunque no hayas dicho ni un simple gracias, y encima dando órdenes para que incluyamos el programa en la respuestas .... te voy a contestar.

      Cuando hay varias funciones con el mismo nombre y diferentes parámetros, el compilador sabe qué función tiene que usar en función de los parámetros usados, pero aquí las dos funciones tienen los mismos parámetros. En este caso a mi no me deja compilar cuando incluyo la segunda función porque ya está la primera función.

    • Eso y nada es lo mismo. ¿Qué error indica? ¿Cómo se pasan los…

      Eso y nada es lo mismo.

      ¿Qué error indica? ¿Cómo se pasan los valores? ¿Se declaran las variables?

      Para responder a mis preguntas, debes incluir la mayor cantidad de código posible y no sólo dos funciones (que espero que no estén juntas). Doy por sentado que has usado ambas independientemente y que aquí sólo lo pones a modo de ejemplo.

      Nunca pidas que te hagan los deberes por obligación porque obtendrás más rechazo que ayuda. Tampoco está de más decir qué lenguaje se está usando, aunque algunos lo reconozcamos con tres lineas de código.

      Saludos.

      • Boca de Pez Boca de Pez
        6

        Nunca pidas que te hagan los deberes por obligación porque…

        Nunca pidas que te hagan los deberes por obligación porque obtendrás más rechazo que ayuda.

        Él no lo ha pedido de propia voluntad. Simplemente ha fusilado el enunciado del algoritmo tal y como se lo han dictado/escrito en su clase. Menudo crack. Este debe ser de los que los viernes por la noche intenta ligar en la disco alardeando de ingeniero informático, y el resto de la semana de hacker en facebook y chats.

        • Se que es un C/P del ejercicio, pero quien entra y lo lee,…

          Se que es un C/P del ejercicio, pero quien entra y lo lee, puede interpretarlo de forma que es algo que si ha escrito. Mi respuesta, no es más para que vea lo que puede significar el C/P sin currarse un poco la pregunta, y sobre todo, que se vea un poco de interés en haber intentado resolverlo antes. ;)

          Saludos.

            • Cierto. Pero a poco que acabe en las garras de una cárnica,…

              Cierto. Pero a poco que acabe en las garras de una cárnica, cosa habitual por estos submundos, el sueldo cae a niveles de tercer círculo del Infierno. Y eso a las titis no les pone nada. Espantada garantizada.

              Mejor decir "ingeniero" a secas. Chichis derritiéndose.

            • Boca de Pez Boca de Pez
              6
              No hijo, no. Ing.informatica tiene poco de ingenieria, por…

              No hijo, no. Ing.informatica tiene poco de ingenieria, por desgracia. Y te lo dice alguien que la tiene, y ademas otra ingenieria. Que el titulo lo pondra, no digo que no, pero hasta ahi y no mas.

              P.D. Estoy en un live cd haciendo pruebas y sin cambiar la distribucion de teclado.

    • Porque las cabeceras de los métodos son iguales... Programa…

      Porque las cabeceras de los métodos son iguales...

      Programa ejemplo

      int main(){
      int a=5;
      int b=6;
      int c=mayor(a,b); //aquí no va a saber cuál invocar ...
      return 0;
      }
    • Boca de Pez Boca de Pez
      6

      En la primera función: int mayor(int a, int b) { if (a>b)…

      En la primera función:

      int mayor(int a, int b) {
      if (a>b)
      return a;
      return b;
      }

      Estás intentando devolver dos enteros cuando sólo puedes retornar uno.

      Por la función, tiene pinta de faltar simplemente un else

      int mayor(int a, int b)

      {
      if (a>b)

      return a;

      else

      return b;
      }

      En la segunda función usa un operador ternario,pero hay un fallo de sintaxis con el paréntesis, el paréntesis sólo debe comprender el primer parámetro que es el condicional.

      La forma correcta sería esta:

      int mayor(int m, int n)

      {
      return (n>m) ? n : m;
      }