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 :
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 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 ] } Declarar una " freqsize " variable para contener el tamaño de la matriz de frecuencia : int freqsize = maxval - minval + 1 ; 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 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. 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
4
5
6
7
8