¿Cómo intentar las preguntas de codificación de funciones?

Las preguntas de codificación de funciones son similares a las preguntas de codificación normales, excepto por el hecho de que no es necesario leer la entrada e imprimir la salida de la E/S estándar mientras se escriben las soluciones.

En la pregunta de codificación de funciones, solo se necesita completar una función ya escrita en el editor de código. Debe trabajar en las entradas proporcionadas como parámetro para esta función y, en lugar de imprimir el resultado, deberá devolverlo desde la función.

Tomemos el ejemplo de un problema de función de muestra : Índice de equilibrio de una array . El patrón de preguntas es casi el mismo que el de las preguntas de programación normales. En los problemas de funciones, puede notar una información adicional proporcionada como «Tarea» después del formato de salida que explica claramente que el usuario solo necesita completar una función y devolver el resultado.

También puede ver que en el editor de código para esta pregunta ya hay una función escrita con el nombre findEquilibrium() .


This function accepts an array A[] and an integer n which denotes the size of the array A[]. You can see in the above image that the body of this function is empty. You need to write your complete code inside the body of this function and return the result from it without writing a separate main() function. You must assume that there is already a main() function written which is invoking this function and write your program accordingly.

A continuación se muestra la solución de trabajo completa para la pregunta anterior:

/*Please note that it's Function problem i.e.
you need to write your solution in the form of Function(s) only.
Driver Code to call/invoke your function is mentioned above.*/
  
/* You are required to complete this method*/
int findEquilibrium(int A[], int n)
{
    // Your code here
    int i, y, f, j, x;
    for (i = 1; i < n; i++) {
        y = 0;
        x = 0;
        for (j = 0; j < i; j++) {
            y = y + A[j];
        }
        for (j = i + 1; j < n; j++) {
            x = x + A[j];
        }
        if (x == y) {
            f = 1;
  
            // returning answer
            return (i);
            break;
        }
        else {
            f = 0;
        }
    }
    if (f == 0) {
        // returning answer
        return (-1);
    }
}

Cosas importantes para recordar

  • Se debe suponer que ya existe una función main() que invoca la función actual y no se debe escribir una función main() separada.
  • Utilice las entradas que se proporcionan en los parámetros de la función.
  • Devuelve el resultado de la función en lugar de imprimirlo.

Publicación traducida automáticamente

Artículo escrito por harsh.agarwal0 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *