Gå til innhold

Velge ut tall fra en array


Anbefalte innlegg

Videoannonse
Annonse

Du har en array med fem tall (float):

Float f = new float[5];

 

som så er fylt, på en eller annen måte, med fornuftige verdier. For å skrive ut de tre midterste skriver du da:

 

System.out.println( f[1] );

System.out.println( f[2] );

System.out.println( f[3] );

 

mvh

CPL

 

PS! Dersom du av en eller annen (uforståelig ;) ) grunn skulle ønske de tre midterste verdiene og ikke bare de tre midterste plassmessig, sorter først. F.eks. med )"]Arrays.sort(float[] a). Og så koden over...

Lenke til kommentar

Enkle (og raskest for større datamengder?) løsningen er vel da:

Ta en kopi av arrayen med for eksempel System.arraycopy(...) sorter denne og finn de tre midterste i denne nye sorterte arrayen.

 

Hvis du ikke vil ta en kopi går du fra en mulig n*log(n) til en n^2 algoritme (men dersom du ikke har større datasett enn 5 er nok denne raskest uansett):

gå gjennom arrayen fire ganger

--første gang: finn laveste

--andre til fjerde gang: finn minste verdien som også er større enn den du fant forrige gang

----skriv den ut

 

Du kan selvfølgelig snu litt på dette og ta største først...

 

Kan det fungere?

 

CPL

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...