Når du har en rekke tall i Perl , kan du bruke kartet funksjonen til å lage en hash som består av hvert unikt nummer og teller. Når du sortere hash i synkende rekkefølge , er det første elementet modusen . Imidlertid, siden det kan være mer enn én modus , må fortsette å lete etter etterfølgende elementer i den sorterte hash som har samme antall som de første element. Instruksjoner
en
Start en tekst editor eller Notisblokk , og opprette en ny Perl-skript . For eksempel skriver følgende som første linje i filen : en
# /usr /bin /perl
2
Erklærer tre variabler - matrisen som du vil! beregne modus, en hash å lagre telling av hvert unikt nummer og en skalar verdi av modus teller. For eksempel skrive : en
min @ matrise ; min % number , min $ teller ;
3
Legge til numre på rekke og velg modus teller til null , som er ikke en gyldig teller for en modus . For eksempel skrive : en
@ matrise = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ), $ teller = 0 ;
4
Lag en hash hvor tastene er unike numre i rekken og verdiene er antall forekomster av hver tast ved å kartlegge array til en hash og økes verdien hver gang en tast blir lagt til hasj . For eksempel skrive : en
map {$ nummer { $ _ } + + } @ matrise ;
5
Sorter hash i synkende rekkefølge basert på antall forekomster , slik at nøkkel med flest forekomster , eller modusen , er det første elementet . Loop gjennom sortert hash å finne et modus . For eksempel skrive : en
for $ i (slags {$ nummer { $ b } < = > $ nummer {$ a} } nøkler % number ) {
6
skrive ut det antallet ganger modusen vises i datasettet første gang gjennom løkken bare . For eksempel skrive : en
print " Modusen vises $ nummer {$ i} ganger i datasettet \\ n ". Hvis $ teller == 0;
7
Capture tellingen av modus første gang du passerer gjennom løkken ved å sjekke om den modusen teller er null. For eksempel skrive : en
$ teller = ( $ teller == 0 ) ? $ nummer {$ i} : $ teller ;
8
Skriv verdien av modus for hver modus i datasettet hvis antallet er det samme som den modusen teller. For eksempel skrive : "er modus $ i \\ n"
print hvis $ nummer {$ i} == $ teller ;}
9
Lagre skriptet og tilordne en filnavn , for eksempel " mode.pl. " Kjør skriptet og sjekke at resultatet er riktig. For eksempel produserer skript fra de foregående trinnene følgende resultat : en
modus vises tre ganger i data setModus er 3mode er 7