Autor Tema: Acumuladores, arrays uni y multidimensionales en C aleatorios LenguajeC CU00541F  (Leído 2435 veces)

Pandemia

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 255
    • Ver Perfil
Buenas noches amigos aquí os dejo una posible solución al ejercicio CU00541F del tutorial de programación en C.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int personasEntran[6];
    personasEntran[0] = 12;
    personasEntran[1] = 0;
    personasEntran[2] = 23;
    personasEntran[3] = 45;
    personasEntran[4] = 21;
    personasEntran[5] = 0;
    int i = 0;
    int totalPersonas = 0;
    int horasSinPersonas = 0;
    int mayorNumeroDePersonas = 0;
    int horaMayornumeroPersonas = 0;

    while(i <= 6)
    {
        totalPersonas += personasEntran[i];
        i=i+1;
        if(personasEntran[i] == 0)
        {
            horasSinPersonas += 1;
        }
        if(mayorNumeroDePersonas < personasEntran[i])
        {
            mayorNumeroDePersonas = personasEntran[i];
            horaMayornumeroPersonas = i +1;
        }
    }
    printf("\nEl total de personas que entraron en el banco en el d%ca de hoy fueron %d personas.\n", 161,totalPersonas);
    printf("\nEl total de horas que no entro ninguna persona en el banco fue de %d hora\\s\n",horasSinPersonas);
    while(i <= 6)
    {
        i=i+1;
        if(personasEntran[i] == 0)
        {
            printf("\n\tEn la hora %d, no hubo personas.\n", i+1);
        }
    }
    printf("\nLa hora %d, es la que tuvo el mayor n\xA3mero de personas con %d personas.\n", horaMayornumeroPersonas,mayorNumeroDePersonas);
    printf("\nEl n\xA3mero medio de personas por hora que entraron en el banco fue de %d.\n", totalPersonas/6);
    return 0;


}


Saludos y gracias por vuestro tiempo....  :D
« Última modificación: 24 de Junio 2016, 21:44 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola! Encuentro un problema en tu código. Si sumamos las personas nos sale:

12
23
45
21

101 personas

Sin embargo al ejecutar tu código me ha salido esto:

Citar
El total de personas que entraron en el banco en el día de hoy fueron 105 personas.

El total de horas que no entro ninguna persona en el banco fue de 2 hora\s

La hora 4, es la que tuvo el mayor número de personas con 45 personas.

El número medio de personas por hora que entraron en el banco fue de 17.

Aquí parece que hay un error. Intenta revisar el código y determinar dónde tienes el error.

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Pandemia

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 255
    • Ver Perfil
Aquí lo dejo rectificado, no me fije en inicializar los while a cinco ya que luego se incrementa 1 con la variable i.

Dejo el código nuevo:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int personasEntran[6];
    personasEntran[0] = 12;
    personasEntran[1] = 0;
    personasEntran[2] = 23;
    personasEntran[3] = 45;
    personasEntran[4] = 21;
    personasEntran[5] = 0;
    int i = 0;
    int totalPersonas = 0;
    int horasSinPersonas = 0;
    int mayorNumeroDePersonas = 0;
    int horaMayornumeroPersonas = 0;

    while(i <= 5)
    {
        totalPersonas += personasEntran[i];
        i=i+1;
        if(personasEntran[i] == 0)
        {
            horasSinPersonas += 1;
        }
        if(mayorNumeroDePersonas < personasEntran[i])
        {
            mayorNumeroDePersonas = personasEntran[i];
            horaMayornumeroPersonas = i +1;
        }
    }
    printf("\nEl total de personas que entraron en el banco en el d%ca de hoy fueron %d personas.\n", 161,totalPersonas);
    printf("\nEl total de horas que no entro ninguna persona en el banco fue de %d hora\\s\n",horasSinPersonas);
    while(i <= 5)
    {
        i=i+1;
        if(personasEntran[i] == 0)
        {
            printf("\n\tEn la hora %d, no hubo personas.\n", i+1);
        }
    }
    printf("\nLa hora %d, es la que tuvo el mayor n\xA3mero de personas con %d personas.\n", horaMayornumeroPersonas,mayorNumeroDePersonas);
    printf("\nEl n\xA3mero medio de personas por hora que entraron en el banco fue de %d.\n", totalPersonas/6);
    return 0;


}


Saludos y gracias por la corrección.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".