Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Perl Programming >> .

Come trovare il modo di in un array di numeri in Perl

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

 

Programmazione © www.354353.com