histogramas são comumente encontrados como uma opção de gráfico na análise de dados em software de planilha , e em software de edição de imagem para mostrar a distribuição de tons de preto para branco em uma imagem. Na linguagem de programação C, usando uma matriz para manter a contagem de freqüência simplifica a criação de um histograma de seu conjunto de dados . Enquanto conjuntos de dados utilizados para a criação de histogramas geralmente contêm valores inteiros , personagens e até mesmo cordas podem ser contados e gráficos . Coisas que você precisa
conjunto de dados de valores inteiros
Show Mais instruções
1
preencher uma matriz inteiro chamado "valores" com o seu conjunto de dados, e definir o " ; numvalues " variável para o número de valores em seu conjunto de dados . Estes poderiam ser gerados aleatoriamente, ler de um arquivo , ou interativamente coletadas do usuário. Este exemplo inicializa essas variáveis quando são declaradas :
int numvalues = 20; int valores [ numvalues ] = { -3 , 2, -2, 4, 5, 4, 2, 5, 4, 5, -1, 2, 3, 4, 7, 4, 2, 0, 7, -3 };
2
Configure duas variáveis inteiras (i e j) para usar como iteradores : < br >
int i = 0 , j = 0;
3
Percorrer os seus dados - a matriz de valores - e defina a variável " maxval " para o valor máximo de seus dados:
int maxval = 0; for ( i = 0; i maxval ) maxval = valores [i] }
4 Percorra os seus dados e defina a variável " minval " para o valor máximo de seus dados:
int minval = maxval ; for ( i = 0; i < numvalues ; i + +) {if ( valores [i] < minval ) minval = valores [ i ]}
5
declarar uma variável " freqsize " para manter o tamanho de sua matriz de freqüência :
int freqsize = maxval - minval + 1;
6
Declare uma matriz para armazenar as contagens de freqüência e inicializar cada elemento da matriz a zero :
int freqüência [ freqsize ]; for ( i = 0; i < freqsize ; i + +) { freqüência [i] = 0; }
Há um elemento do array para cada valor possível em seu conjunto de dados
7
Passo através de cada valor . seu conjunto de dados , adicionando um ao elemento do array freqüência correspondente a esse valor :
for ( i = 0; i < numvalues ; i + +) {int index = valores [ i ] - MINVAL ; freqüência [índice] + + }
o índice correspondente ao valor atual é gerada por mudando o valor pelo valor mínimo.
8
passo através de cada elemento na matriz de freqüência. Imprimir o valor atual (calculado deslocando o iterator "i" pelo valor mínimo). Imprimir o número de estrelas (*) correspondente à frequência o valor atual pelo looping de um para o valor armazenado na matriz de freqüência, a impressão de uma única estrela de cada vez :
for ( i = 1; i < = freqsize ; i + +) { printf ("% 2d \\ t