Quando si dispone di una serie di numeri in Perl , è possibile utilizzare la funzione mappa per creare un hash che consiste di ogni numero unico e il suo conteggio . Quando si ordina l'hash in ordine decrescente, il primo elemento è la modalità . Tuttavia , dal momento che non ci può essere più di una modalità , si deve continuare a cercare gli elementi successivi nel hash ordinato che hanno lo stesso numero come primo elemento . Istruzioni
1
Avviare un editor di testo o Blocco note , e creare un nuovo script in Perl . Ad esempio, digitare il seguente come prima riga nel file :
# /usr /bin /perl
2
dichiarare tre variabili - l'array per il quale si desidera ! calcolare il modo , un hash per memorizzare il conteggio di ogni numero unico e un valore scalare di conteggio della modalità . Ad esempio, digitare :
mio array @ ; mio numero % ; my $ count ;
3
Aggiungi numeri alla matrice e impostare la modalità di conteggio a zero , il che non è un conteggio valido per una modalità . Ad esempio, digitare :
@ array = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ) ; $ count = 0 ;
4
Creare un hash cui le chiavi sono numeri unici nella matrice ed i valori sono il numero di occorrenze di ogni chiave mappando la matrice di un hash e incrementando il valore ogni volta una chiave viene aggiunto hash . Ad esempio, digitare :
map { $ numero { $ _ } + + } @ array ;
5
Ordina l'hash in ordine in base al numero di occorrenze decrescente in modo che il chiave con il maggior numero di occorrenze , o la modalità , è il primo elemento . Loop attraverso l'hash ordinato di trovare il modo. Ad esempio, digitare :
for $ i ( sort { $ numero { $ b } < = > $ numero { $ a} } chiavi numero % ) {
6
stampare il numero di volte che la modalità appare impostati i dati la prima volta attraverso il solo ciclo. Ad esempio, digitare :
print " La modalità appare $ numero { $ i} volte nel set di dati \\ n ". Se $ count == 0 ;
7
Capture il conteggio del modo la prima volta che si passa attraverso il ciclo controllando se il conteggio modalità è pari a zero . Ad esempio, digitare :
$ count = ( $ count == 0 ) ? $ numero { $ i} : $ count ;
8
Stampa il valore della modalità per ogni modalità nel set di dati se il conteggio è lo stesso del numero di modalità . Ad esempio, digitare : print
" modalità è $ i \\ n" se $ numero { $ i} == $ count ; }
9
Salvare lo script e assegnare un nome del file, ad esempio " mode.pl. " Eseguire lo script e controllare per assicurarsi che il risultato è corretto . Ad esempio , lo script da passaggi precedenti produce il seguente risultato :
La modalità appare 3 volte nei dati setmode è 3mode è 7