frg Skrevet 19. november 2003 Del Skrevet 19. november 2003 Jeg har en array med 5 tall(float). Hvordan kan jeg få skrevet ut de 3 midterste verdiene? Lenke til kommentar
threiran Skrevet 19. november 2003 Del Skrevet 19. november 2003 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
frg Skrevet 20. november 2003 Forfatter Del Skrevet 20. november 2003 jeg er ute etter de tre midterste verdimessig. Er det noen måte å få ut disse på uten å endre rekkefølgen på arrayen? Lenke til kommentar
threiran Skrevet 20. november 2003 Del Skrevet 20. november 2003 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
Manfred Skrevet 21. november 2003 Del Skrevet 21. november 2003 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... Med fare for å gjenta det som har blitt sagt, men dette er nok enkleste måten å sortere en float-array på, ja. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå