• Matéria: Informática
  • Autor: leoodonto8401
  • Perguntado 8 anos atrás

Linguagem C: Em uma sequência de 10 números que são gerados de forma aleatória (variando de 5 a 10), escrever qual número mais se repete na sequência e quantas vezes se repetiu. Por favor, explique a lógica que utilizou, obrigado.

Respostas

respondido por: jvsilvictorox7rfj
0


Segue o código em C devidamente comentado:



#include <stdio.h>
#include<stdlib.h>
#include <time.h>


int main ()
{
    int numeros[10], contagem[6] = {0,0,0,0,0,0};
   
    //SORTEIRO DOS 10 NÚMEROS
    printf("Números sorteados: ");
    for(int i=0; i<10; i++)
    {
        srand(time(NULL));
        numeros[i] = (rand() % 6) + 5;  //rand sorteia entre 0 e 5, depois soma 5 (fica de 5 a 10)
        printf("[%d] ", numeros[i]);
        sleep(1);  //Atraso para mudar o tempo do pseudo-rand
    }
   
   
    //PROCURA OS NÚMEROS REPETIDOS
    for(int num = 5; num <= 10; num++)  //Varia de 5 a 10
    {
        for(int i = 0; i < 10; i++)  //procura cada valor em cada posição do vetor
        {
            if(numeros[i] == num)
            {
                contagem[num-5]++;
            }
        }
    }
   
    //APRESENTA O RESULTADO
    printf("\nRESULTADO:\n");
    for(int i= 5; i <= 10; i++)
    {
        printf("O número %d aparece %d vez(es).\n", i, contagem[i-5]);
    }
   

   return 0;
}




Perguntas similares