La plataforma de Yahoo Respuestas cerrará definitivamente el próximo 4 de mayo de 2021 y solo estará disponible en modo de lectura. Ningún otro producto de Yahoo ni tu cuenta personal se verán afectados por este cambio. Si necesitás más información sobre el cierre de Yahoo Respuestas y cómo descargar tus datos podés acceder a esta página de ayuda.

Anónimo
Anónimo preguntado en Computadoras e internetDiseño y Programación · hace 8 meses

¿Me gustaría saber como puedo contar en C la cantidad de números (aleatorios) superiores a cierta cantidad?

Hola.

Quisiera saber como puedo realizar un programa en C que ingrese números aleatorios entre 1 y 36 asumiendo que son edades de un grupo de 50 personas, y me arroje la cantidad de personas mayores a 18 años.

Muchas gracias de antemano.

4 respuestas

Calificación
  • hace 8 meses

    No te voy a escribir el código, porque no lo voy a hacer ahora por pereza. Me has dado una idea de programa, eso te lo agradezco. Pero te doy sugerencias:

    Trata de usar funciones de tiempo (para segundos), de los que saldrían los números aleatorios, y funciones matemáticas (como abs para obtener el valor absoluto).

    Por ejemplo, obtener una cantidad en segundos, mutiplicarla por un número entero menor o igual que 9, y, si el valor obtenido es mayor que 36, hacer una raíz (cuadrada o cúbica) para que sea menor que 36. Calculando después que el resultado sea mayor o igual que 18.

    Las bibliotecas en C para funciones de tiempo y matemáticas son: `time` y `math`, respectivamente.

  • hace 8 meses

    Guardas los números en un array de 50 elementos y después iteras el array para contar los que superan el 18, o incluso puedes contarlos desde que los estás generando. 

    https://www.geeksforgeeks.org/generating-random-nu...

    https://stackoverflow.com/questions/30707611/how-t...

  • hace 8 meses

    Divide el problema:

    1. Necesitas ingresar y almacenar 50 valores

    2. Necesitas hacer una operación iterando sobre 50 valores

  • hace 8 meses

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    int main ()

    {

        int personas[50];

        int mayores = 0;

        float promedio = 0.0;

        #define CANTIDAD 50.0

        

        srand(time(NULL));

        

        for(int i = 0; i < CANTIDAD; i++){

            personas[i] = 1 + rand() % (37 - 1);

            printf("%d\n", personas[i]);

        }

        

        for(int i = 0; i < 50; i++){

            promedio += personas[i];

            if(personas[i] >= 18)

                mayores++;

        }

        

        promedio = promedio / CANTIDAD;

        

        printf("%s\t%4.2f\n", "Promedio:", promedio);

        printf("%s\t%d", "Mayores de edad: ", mayores);

    }

¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.