histogramas se encuentran comúnmente como una opción gráfica en el análisis de datos en hojas de cálculo , y en el software de edición de imágenes para mostrar la distribución de los tonos del negro al blanco en una imagen. En el lenguaje de programación C , utilizando un vector que mantiene la cuenta de la frecuencia simplifica la creación de un histograma del conjunto de datos . Mientras conjuntos de datos utilizados para la creación de histogramas por lo general contienen valores enteros , personajes e incluso cadenas se puede contar y representar gráficamente . Cosas que necesitará
conjunto de datos de valores enteros
Mostrar Más instrucciones
1
rellenar una matriz de enteros llamados "valores" con el conjunto de datos , y establecer la " ; numvalues " variable para el número de valores en el conjunto de datos . Estos podrían ser generados aleatoriamente , leen desde un archivo, o recogidos interactiva del usuario. En este ejemplo se inicializa estas variables cuando se declaran :
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 dos variables enteras ( i y j ) para usar como iteradores : < br >
int i = 0 , j = 0 ;
3
iterar a través de los datos - la matriz de valores - y establecer la variable " maxval " para el valor máximo de sus datos :
int maxval = 0 ; for (i = 0 ; i maxval ) maxval = valores [ i ] }
4 paso a través de los datos y establecer la variable " minval " para el valor máximo de los datos:
int minval = maxval ; for (i = 0 ; i < numvalues , i + + ) { if ( valores [ i ] < minval ) minval = valores [ i ] }
5
Declarar una " freqsize " variable para contener el tamaño de la matriz de frecuencia :
int freqsize = maxval - minval + 1 ;
6
declarar una matriz para mantener las cuentas de la frecuencia e inicializar cada elemento de la matriz a cero:
int frecuencia [ freqsize ] ; for (i = 0 ; i < freqsize , i + +) {Frecuencia [ i ] = 0 ;}
Hay un elemento de la matriz para cada valor posible en el conjunto de datos
7
paso a través de cada valor . el conjunto de datos , sumando uno al elemento de la matriz de frecuencia correspondiente a ese valor :
for (i = 0 ; i < numvalues , i + + ) { int index = valores [ i ] - minval , frecuencia [ indice] + + }
el índice correspondiente al valor de la corriente se genera al cambiar el valor por el valor mínimo.
8
paso a través de cada elemento de la matriz de frecuencia. Imprime el valor actual (calculado al cambiar el repetidor " i" por el valor mínimo) . Imprimir el número de estrellas ( * ) correspondiente a la frecuencia del valor de la corriente haciendo un bucle de uno a el valor almacenado en la matriz de frecuencia , la impresión de una sola estrella cada vez :
para ( i = 1 ; i < = freqsize , i + + ) { printf ("% 2d \\ t