Consulta

Consulta

de BARONETTO, Valentina Maria -
Número de respuestas: 2

Buenas tardes, quisiera saber en donde esta el error en la resolución del siguiente ejercicio:

bool sonTodosCeros(int u[NMAX] ,  int Nodos);

La función recibe como argumento un arreglo unidimensionales u de tamaño NMAX, además la función recibe un entero N que representa la cantidad de elementos a usar dentro de los arreglo. La función debe devolver true si todos los elementos dentro del arreglo son iguales a cero y false en caso contrario.

Mi respuesta fue la siguiente:

bool sonTodosCeros(int u[NMAX] ,  int Nodos)
{
    bool x;
   
    for(int i=0;i<Nodos;i++)
    {
        if(u[i]!=0)
        {
            x=true;
        }
        else
        {
            x=false;
        }
    }
   
    return x;
}

Desde ya muchas gracias!
En respuesta a BARONETTO, Valentina Maria

Re: Consulta

de BAEZ MENENDEZ, Maria Camila -
Hola! Fijate que tenes que devolver verdadero si todos los elementos del arreglo son cero, y ahí le estas pidiendo lo contrario (que sean distintos a cero). En mi caso cree otra variable entera "contador" que vaya aumentado en caso de que se cumpla que el elemento sea igual a cero; y fuera del ciclo for evalúo si "contador" es igual a la constante global N digo que la variable "x" es verdadero y en caso contrario, falso.

Espero se entienda y te sirva!