Anónimo
Anónimo preguntado en Computadoras e internetDiseño y Programación · hace 2 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 2 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 2 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...

  • Divide el problema:

    1. Necesitas ingresar y almacenar 50 valores

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

  • hace 2 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.