Histograma de uma frase
Publicado por Renan Birck Pinheiro (última atualização em 07/10/2009)
[ Hits: 10.119 ]
Homepage: http://renanbirck.rocks
Programa que lê uma frase (até 100 caracteres) e dá a distribuição das letras nela.
#include <stdio.h>
#include <stdlib.h>
// Copyleft '09 Renan Birck
int main() {
char *frase;
int numcharsmai[26], numcharsmin[26], i, numast;
printf("***** HISTOGRAMA DE UMA STRING *****\n");
printf("Por favor note que ele não conta caracteres acentuados. \n");
printf("Introduza a frase: ");
fgets(frase,100,stdin);
// zera os contadores.
for(i = 0; i<26; i++) numcharsmai[i] = numcharsmin[i] = 0;
// anda na frase, aumentando o vetor adequadamente.
while(*frase) {
if(('a' <= *frase) && (*frase <= 'z')) numcharsmin[*frase - 'a']++;
if(('A' <= *frase) && (*frase <= 'Z')) numcharsmai[*frase - 'A']++;
frase++;
}
// Imprime as letras minúsculas.
for(i = 'a'; i<='z'; i++) if(numcharsmin[i-'a']) // se não houver 0 de uma dada letra
{
printf("%c: ", i);
for(numast = 0; numast < numcharsmin[i-'a']; numast++) printf("*"); // um asterisco por letra
printf( "\t %d \n",numcharsmin[i-'a']);
}
// Imprime as letras maiúsculas.
for(i = 'A'; i<='Z'; i++) if(numcharsmai[i-'A'])
{
printf("%c: ", i);
for(numast = 0; numast < numcharsmai[i-'A']; numast++) printf("*");
printf( "\t %d \n", numcharsmai[i-'A']);
}
return 0;
}
Calcula valor da prestação atrasada
Passar uma string pra caixa alta.
Cálculo de média usando funções e struct
Nenhum comentário foi encontrado.
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
SystemD e mais polêmicas. (12)
Qual melhor distro para esse notebook? (5)
Novos requisitos de sistema para a versão 26.04 (7)









