Når du har en vifte af numre i Perl , kan du bruge kortet funktion for at oprette en hash , der består af hver enkelt unikke nummer og dens tæller . Når du sortere hash i faldende rækkefølge , det første element er den tilstand . Men da der kan være mere end én tilstand, skal du fortsætte med at lede efter de efterfølgende elementer i sorteres hash , der har samme tæller som det første element. Instruktioner
1
Start en teksteditor eller Notesblok , og oprette en ny Perl script. For eksempel skal du skrive følgende som den første linje i filen : Hej
# /usr /bin /perl
2
Erklær tre variabler - array , som du vil! beregne tilstanden en hash til at gemme optælling af hver enkelt unikke nummer og en skalar værdi af tilstands tæller . Skriv f.eks : Hej
min @ matrix , min % nummer min $ count ,
3
Tilføj numre til array og indstille tilstanden tælle til nul, hvilket er ikke en gyldig tæller for en tilstand . Skriv f.eks : Hej
@ matrix = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ) $ count = 0 ;
4
Opret en hash hvor nøglerne er unikke numre i rækken, og værdierne er antallet af forekomster af hver tast ved at kortlægge array til en hash og forøgelse af værdien , hver gang en tast er føjet til hash . Skriv f.eks : Hej
map {$ nummer { $ _ } + + } @ matrix ,
5
Sorter hash i faldende orden baseret på antallet af forekomster , således at den nøgle med flest forekomster , eller tilstand, er det første element. Loop gennem sorteres hash for at finde funktionen. Skriv f.eks : Hej
for $ i (sortering {$ nummer {$ b} <=> $ tal { $ a }} nøgler % nummer) {
6
Udskriv det antal gange tilstanden vises i datasættet for første gang gennem løkken alene. Skriv f.eks : Hej
print " Tilstanden vises $ nummer {$ i} gange i datasættet \\ n ". Hvis $ count == 0 ,
7
Capture optællingen af tilstanden første gang du passerer gennem løkken ved at kontrollere , om funktionen count er nul. Skriv f.eks : Hej
$ count = ( $ count == 0) ? $ nummer {$ i} : $ count ;
8
Udskriv værdien af tilstanden for hver tilstand i de fastsatte data, hvis optællingen er den samme som funktionen count. Skriv f.eks : "er tilstanden $ i \\ n "
print , hvis $ tal {$ i} == $ count ;}
9
Gem scriptet og tildele en filename , såsom " mode.pl. " Kør scriptet og kontroller, at resultatet er korrekt. For eksempel producerer scriptet fra de tidligere trin følgende resultat : Hej
funktion vises 3 gange i data setMode er 3mode er 7