Wenn Sie ein Array von Zahlen in Perl haben , können Sie die Map-Funktion , um einen Hash, der jedes eindeutige Nummer und seine Zählung besteht zu erstellen. Wenn Sie die Raute in absteigender Reihenfolge zu sortieren , ist das erste Element der Modus . Da es jedoch mehr als einen Modus sein kann , müssen Sie weiterhin für die nachfolgenden Elemente in der sortierten Hash , die die gleiche Anzahl als erstes Element haben zu suchen. Anleitung
1
Starten Sie einen Text-Editor oder Notepad , und erstellen Sie ein neues Perl-Skript . Geben Sie beispielsweise die folgenden als die erste Zeile in der Datei:
# /usr /bin /perl
2
Declare drei Variablen - das Array, für das Sie wollen! berechnen Sie den Modus , ein Hash , um die Anzahl der einzelnen eindeutige Nummer und eine skalare Wert der Count- Modus speichern. Geben Sie z. B. :
my @ array; my% Zahl ; my $ count;
3
Addieren von Zahlen auf das Array und stellen Sie den Modus auf Null , die ist keine gültige Zahl für einen Modus . Geben Sie z. B. :
@ array = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ); $ count = 0;
4
erstellen Hash , wo die Tasten sind eindeutige Zahlen im Array und die Werte sind die Anzahl der Vorkommen der einzelnen Tasten durch die Abbildung des Array in einen Hash und Erhöhen Sie den Wert bei jedem Tastendruck wird der Hash hinzugefügt . Geben Sie z. B. :
map { $ number { $ _ } + +} @ array ;
5
Sortieren der Hash in absteigender Reihenfolge nach der Anzahl der Vorkommen basieren , so dass die Schlüssel mit der Häufigkeit des Vorkommens oder der Modus ist das erste Element . Durchlaufen der sortierten Hash , um den Modus zu finden. Geben Sie z. B. :
for $ i ( sort { $ number {$ b} <=> $ number {$ a }} keys% Zahl ) {
6
drucken Sie die Anzahl , wie oft der Modus in den Datensatz zum ersten Mal durch die Schleife nur . Geben Sie z. B. :
print " Der Modus erscheint $ number {$ i} mal im Datensatz \\ n ". Wenn $ count == 0;
7
Capture- die Zählung des Modus das erste Mal, wenn Sie durch die Schlaufe durch Prüfen, ob der Modus Zahl Null ist. Geben Sie z. B. :
$ count = ( $ count == 0) ? $ number {$ i} : $ count ;
8
drucken den Wert des Modus für jeden Modus in den Daten gesetzt, wenn die Zählung ist der gleiche wie der Modus zählen. Geben Sie zum Beispiel : "Ist Modus $ i \\ n"
Druck , wenn $ number {$ i} == $ count ;}
9
Speichern Sie das Skript und weisen eine Dateinamen wie " mode.pl. " Führen Sie das Skript und überprüfen Sie, ob das Ergebnis korrekt ist. Beispielsweise erzeugt das Skript aus den vorherigen Schritten das folgende Ergebnis:
Der Modus erscheint 3 Mal Daten setmode ist 3mode ist 7