Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> perl Programmering >> Content

    Hur hittar Mode i en matris med tal i Perl

    När du har en matris med tal i Perl , kan du använda kartfunktionen för att skapa en hash som består av varje unikt nummer och dess räkning . När du sorterar hash i fallande ordning , är den första delen i läget . Men eftersom det kan finnas mer än en -läge , måste du fortsätta att leta efter efterföljande element i den sorterade hash som har samma antal som det första elementet . Instruktioner
    1

    Starta en textredigerare eller Anteckningar och skapa en ny Perl-skript . Skriv till exempel följande som första rad i filen :

    # /usr /bin /perl
    2

    Deklarera tre variabler - arrayen som du vill ! beräkna läget , en hash för att lagra räkningen för varje unikt nummer och en skalär värde av läget s räkning . Till exempel , typ :

    min @ array , min % nummer, min $ count; Addera 3

    Lägga till nummer på arrayen och ställa in läget räkna till noll , vilket är inte ett giltigt räknas för en mod . Till exempel , typ :

    @ array = ( 7,1,5,9,11,7,3,3,5,7,9,3,8 ) , $ count = 0 ;

    4

    Skapa en hash där nycklarna är unika nummer i arrayen och värdena är antalet förekomster av varje tangent genom att kartlägga arrayen till en hash och uppräkning av värdet varje gång en knapp läggs till hash . Till exempel , typ :

    map { $ numret { $ _ } + + } @ array ,
    5

    Sortera pölsan i fallande ordning baserat på antalet förekomster så att nyckel med flest förekomster , eller läget , är det första elementet . Loop igenom den sorterade hash för att hitta läget . Till exempel , typ :

    för $ jag ( sort { $ numret { $ b} < = > $ numret { $ a } } nycklar % antal ) {
    6

    Skriv hur många gånger läget visas i datamängden första gången genom slingan endast . Till exempel , typ :

    print " Läget visas $ numret { $ i} gånger i datamängden \\ n . " Om $ count == 0;
    7

    Capture räkningen av läget första gången du passerar slingan genom att kontrollera om läget är noll . Till exempel , typ :

    $ count = ( $ count == 0 ) ? $ numret { $ i} : $ count ;
    8

    ut värdet av läget för varje läge i uppsättningen uppgifter om räkningen är detsamma som läget räknas . Till exempel , typ : " är läget $ i \\ n "

    print om $ nummer { $ i} == $ count; }
    9

    Spara skriptet och tilldela en filnamn , t.ex. " mode.pl. " Kör skript och kontrollera att resultatet är korrekt . Till exempel producerar manus från de tidigare stegen följande resultat :

    läget visas 3 gånger i uppgifterna setMode är 3mode är 7 Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man kör Perl på en bärbar dator
    ·Hur konverterar man från Perl till Python & AppEngine
    ·Vilket programmeringsspråk kallas Duct Tape på Intern…
    ·Hur man beräknar primtalsfaktorer i ett heltal i Perl
    ·Hur man skriver ut siffror i ett Perl Script
    ·Så ringer ett skal från en Perl Script
    ·PHP Vs. Perl Performance
    ·Hur konvertera Perl Script till EXE
    ·Hur man använder en variabel i Perl Regular Expression…
    ·Hur Ring plink Från ett Perl Script
    Utvalda artiklarna
    ·Hur berätta om ett funktionsanrop är statisk eller in…
    ·Hur man gör ett CV med JavaScript Program
    ·Hur man använder en GDB Simulator
    ·Binära krypteringsalgoritmer
    ·Hur man byter en studsande boll med en studsande Fågel…
    ·Hur Bulk - bort tabeller i MySQL
    ·Hur till Ändra Java Hem
    ·Hur man gör logiska jämförelser i Java
    ·Hur man använder alternativknappar i Visual C
    ·Lägga till en server Perspective till Eclipse
    Copyright © Dator Kunskap http://www.dator.xyz