istogrammi si trovano comunemente come opzione di grafico per l'analisi dei dati in un foglio elettronico , e nel software di editing delle immagini per mostrare la distribuzione dei toni dal nero al bianco in un'immagine. Nel linguaggio di programmazione C , utilizzando una matrice di tenere il conteggio di frequenza semplifica la creazione di un istogramma del set di dati . Mentre la serie di dati utilizzati per la creazione di istogrammi di solito contengono valori interi , personaggi e persino le stringhe possono essere contati e graficamente . Cose che ti serviranno : Dati insieme di valori interi
Mostra più istruzioni
1
popolare un array di interi chiamato "valori " con il set di dati , e impostare il " , numvalues " variabile per il numero di valori del set di dati . Questi potrebbero essere generati in modo casuale , lette da un file , o in modo interattivo raccolti presso l' utente . Questo esempio inizializza le variabili che sono dichiarati :
int numvalues = 20; int valori [ numvalues ] = { -3 , 2 , -2 , 4 , 5 , 4 , 2 , 5 , 4 , 5 , -1 , 2 , 3 , 4 , 7 , 4 , 2 , 0 , 7 , -3 } ;
2
impostare due variabili intere ( i e j ) da utilizzare come iteratori : < br >
int i = 0 , j = 0;
3
iterare i vostri dati - la matrice di valori - e impostare la variabile " maxval " per il valore massimo di i tuoi dati :
maxval int = 0; for (i = 0; i maxval ) maxval = valori [ i] }
4 Passo attraverso i dati e impostare la variabile " minval " per il valore massimo dei dati :
int minval = maxval ; for (i = 0; i < numvalues ; i + + ) {if ( valori [ i] < MINVAL ) minval = valori [ i] }
5
dichiarare una variabile " freqsize " per contenere le dimensioni del vostro allineamento di frequenza :
int freqsize = maxval - minval + 1 ;
6
dichiarare un array per contenere i conteggi di frequenza e inizializzare ogni elemento dell'array a zero:
int frequenza [ freqsize ] ; for (i = 0 ; i < freqsize ; i + + ) { frequenza [ i] = 0; }
C'è un elemento di un array per ogni valore possibile nei dati impostare
7
passo attraverso ogni valore . il set di dati , l'aggiunta di uno a l'elemento di matrice frequenza corrispondente a tale valore :
for (i = 0; i < numvalues ; i + + ) { int index = valori [ i] - minval ; frequenza [index ] + + }
l'indice corrispondente al valore corrente è generata spostando il valore dal valore minimo .
8
Passaggio attraverso ogni elemento dell'array frequenza. Stampare il valore attuale (calcolato spostando l' iteratore "i" per il valore minimo) . Stampare il numero di stelle ( *) corrispondente alla frequenza del valore corrente di loop da uno al valore memorizzato nella matrice di frequenza , la stampa di una singola stella ogni volta :
for ( i = 1; i < = freqsize ; i + + ) { printf (" % 2d \\ t