histogrammer er almindeligt forekommende som et diagram mulighed i analyse af data i regneark , og billedredigering software til at vise fordelingen af toner fra sort til hvid i et billede. I C- programmeringssprog, forenkler bruge en array til at holde frekvensen tæller skabe et histogram af dine datasæt. Mens data, der benyttes til at skabe histogrammer normalt indeholder heltalsværdier , figurer og endda strygere kan tælles og tegnes. Ting du skal
Datasæt af heltalsværdier
vise flere Instruktioner
1
befolke et heltal matrix kaldet "værdier" med din data sæt, og sæt " ; numvalues " variabel til antallet af værdier i datasættet . Disse kan tilfældigt genereret , læses fra en fil , eller interaktivt indsamlet fra brugeren . Dette eksempel initialiserer disse variabler , der er erklæret : Hej
int numvalues = 20; int værdier [ numvalues ] = { -3 , 2, -2, 4, 5 , 4, 2 , 5, 4 , 5, -1, 2, 3, 4, 7, 4, 2, 0, 7 , -3 };
2
oprettet to heltal variabler ( i og j ) til at bruge som iteratorer : < br >
int i = 0 , j = 0;
3
gentage gennem dine data - værdierne array - og sæt " maxval " variable til den maksimale værdi af dine data : Hej
int maxval = 0; for (i = 0; jeg maxval ) maxval = værdier [i] }
4 Step gennem dine data og sæt " minval " variable til den maksimale værdi af dine data : Hej
int minval = maxval , for ( i = 0; i < numvalues , i + +) {if ( værdier [i] < minval ) minval = værdier [i] }
5
Erklær en variabel " freqsize " for at holde størrelsen på din frekvens matrix : Hej
int freqsize = maxval - minval + 1 ,
6
Erklær en array til at holde frekvensen tæller og initialisere hvert array element til nul : Hej
int frekvens [ freqsize ] for (i = 0; i < freqsize , i + +) { frekvens [i] = 0 ;}
p Der er én array element for hver mulig indstillet værdi i dine data
7
Step gennem hver værdi i . Deres datasæt , tilføjer den ene til den frekvens array element , der svarer til denne værdi : Hej
for (i = 0; i < numvalues , i + +) { int index = værdier [i] - minval , frekvens [ indeks] + + }
indekset , der svarer til den aktuelle værdi er genereret ved at flytte værdien ved den mindste værdi.
8
Step gennem hvert element i frekvens array. Print den aktuelle værdi (beregnet ved at flytte iterator "i" af den mindste værdi). Udskriv det antal stjerner ( * ) svarende til frekvensen den aktuelle værdi ved looping fra den ene til den værdi gemt i frekvens array, udskrivning af en enkelt stjerne hver gang : Hej
for (i = 1 i < = freqsize ; i + +) { printf ( "% 2d \\ t