Als je een array van getallen in Perl , kunt u de kaart -functie gebruiken om een hash die bestaat uit elke uniek nummer en zijn tellen te creëren . Wanneer u de hash in aflopende volgorde , het eerste element is de modus . Echter, omdat er meer dan een wijze kan zijn , moet je blijven zoeken naar de volgende elementen in de gesorteerde hash die dezelfde telling als het eerste element hebben . Instructies 1 Start een teksteditor of Notepad , en maak een nieuwe Perl-script . Typ bijvoorbeeld het volgende als de eerste regel in het bestand : # /usr /bin /perl kopen van 2 Declare drie variabelen - de array waarvoor u wilt ! berekenen van de mode , een hash om de telling van elke uniek nummer en een scalaire waarde van graaf de modus op te slaan . Typ bijvoorbeeld : mijn @ array mijn nummer % ; mijn $ count ; 3 nummers toevoegen aan de array en zet de graaf -modus op nul , wat is geen geldige tellen voor een functie . Typ bijvoorbeeld : @ -array = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ) ; $ count = 0 ; Goedkope 4 Maak een hash waar de sleutels zijn unieke getallen in de array en de waarden zijn het aantal keren dat elke toets in kaart brengen van de array om een hash en het verhogen van de waarde elke keer dat een toets wordt toegevoegd aan de hash . Typ bijvoorbeeld : plattegrond { $ getal { $ _ } + + } @ array 5 Sorteer de hash in aflopende volgorde op basis van het aantal voorvallen , zodat de sleutel met de meeste gebeurtenissen , of de mode , is het eerste element . Lus door de gesorteerde hash om de modus te vinden . Typ bijvoorbeeld : voor $ i ( sort { $ getal { $ b } < = > $ nummer { $ a } } toetsen % aantal ) { 6 Druk het aantal keren dat de functie in te stellen van de gegevens de eerste keer door alleen de lus . Typ bijvoorbeeld : druk " De stand verschijnt $ nummer { $ i } keer in de dataset \\ n ". Als $ count == 0 ; Capture 7 de telling van de functie de eerste keer dat je door de lus door te controleren of de telling modus nul is . Typ bijvoorbeeld : $ count = ( $ count == 0 ) ? $ nummer { $ i } : $ count ; 8 Print de waarde van de gewenste instelling voor elke functie in de dataset als de telling is hetzelfde als de graaf -modus . Typ bijvoorbeeld : druk " modus is $ i \\ n " als $ nummer { $ i } == $ count ; } 9 Sla het script en het toekennen van een bestandsnaam , zoals " mode.pl. " Voer het script en controleren om ervoor te zorgen dat het resultaat correct is. Bijvoorbeeld , het script van de vorige stappen geeft het volgende resultaat : De stand verschijnt 3 keer in de data setMode is 3mode is 7
|