Pesquisar este blog

Livros Recomendados

quarta-feira, 13 de janeiro de 2021

URI - 1171 - Frequência de Números - Ad-hoc - C

Plataforma: URI
Problema1171

Enunciado:
Neste problema sua tarefa será ler vários números e em seguida dizer quantas vezes cada número aparece na entrada de dados, ou seja, deve-se escrever cada um dos valores distintos que aparecem na entrada por ordem crescente de valor.

Linguagem: C


Solução:

#include <stdio.h>

int main() {
    
    int n, indice, indice2, indice3, indice4, contador, eleito, flag;
    scanf("%i", &n);
    
    int numeros[n];
    
    indice = 0;
    while (indice < n)
        scanf("%i", &numeros[indice++]);
    
    for (indice2 = 1 ; indice2 <= n-1; indice2++) {
        eleito = numeros[indice2];

        for (indice3 = indice2-1; indice3 >= 0; indice3--) {
            if (numeros[indice3] > eleito) {
                numeros[indice3 + 1] = numeros[indice3];
                flag = 1;
            }
            else break;
        }
        
        if (flag)
            numeros[indice3 + 1] = eleito;
    }
    
    indice = 0;
    while (indice < n) {
        
        contador = 1;
        indice4 = 0;
        
        while (indice4 < n) {
            
            if (numeros[indice] == numeros[indice4] && indice != indice4)
                contador++;

            indice4++;
        }
        
        printf("%i aparece %i vez(es)\n", numeros[indice], contador);
        indice += contador;
    }
    
    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas