hoyre Skrevet 4. januar 2012 Del Skrevet 4. januar 2012 Hei! Skjønner ikke hvordan koden blir når jeg skal finne antall forekomster av hvert tall fra 0-5 i denne arrayen: int [] tall = {1,2,5,6,7,8,6,5,2,0,1,2,3,4,5,7,8,4} Håper noen kan hjelpe! Lenke til kommentar
Cemi Skrevet 4. januar 2012 Del Skrevet 4. januar 2012 Kjør gjennom tallene, ha en teller for hvert av de 6 tallene du skal telle, og inkrementer den dersom tallet i arrayen er riktig? Lenke til kommentar
hoyre Skrevet 4. januar 2012 Forfatter Del Skrevet 4. januar 2012 Hehe, sant! Da var jo den veldig grei - tok og lagde en else-if-kommando for hvert tall fra 1-5 i for-løkken. Takker! Lenke til kommentar
GeirGrusom Skrevet 4. januar 2012 Del Skrevet 4. januar 2012 (endret) int[] tall = { 1, 2, 5, 6, 7, 8, 6, 5, 2, 0, 1, 2, 3, 4, 5, 7, 8, 4 }; var result = (from c in Enumerable.Range(0, 6) select new KeyValuePair<int, int>(c, tall.Count(i => i == c)) ).Where(item => item.Value > 0) .ToArray(); Eventuelt hvis du ikke bryr deg om tomme verdier int[] tall = { 1, 2, 5, 6, 7, 8, 6, 5, 2, 0, 1, 2, 3, 4, 5, 7, 8, 4 }; var result = (from c in Enumerable.Range(0, 6) select tall.Count(i => i == c) ).ToArray(); Endret 4. januar 2012 av GeirGrusom Lenke til kommentar
MailMan13 Skrevet 5. januar 2012 Del Skrevet 5. januar 2012 (endret) Eventuelt hvis man ikke vet hvilke temperaturer som vil komme: var antall = tall.GroupBy(x => x) .OrderBy(x=> x.First()) .Select(x => new { Antall = x.Count(), Temperatur = x.First() }); foreach (var a in antall) Console.WriteLine(string.Format("{0} forekommer {1} ganger", a.Temperatur, a.Antall )); Endret 5. januar 2012 av MailMan13 Lenke til kommentar
wolf5 Skrevet 7. januar 2012 Del Skrevet 7. januar 2012 De eksemplene der var nå drepende voldsom for en klart nybegynner. Det der er avansert stoff. Lenke til kommentar
GeirGrusom Skrevet 8. januar 2012 Del Skrevet 8. januar 2012 Han hadde allerede fått et bra og fungerende svar, så da er det greit å vite hvordan det enklest kan gjøres. Og hvis du bryter dem ned, er de ikke spesielt avanserte. Det min gjør, er å lage en tenkt liste fra 0 til og med 5, gå igjennom hvert tall, og gi ut hvor ofte de forekommer i listen. MailMan13 sin grupperer tallene etter sin verdi, og teller hvor mange det blir i hver gruppe. Lenke til kommentar
wolf5 Skrevet 9. januar 2012 Del Skrevet 9. januar 2012 Effektivt er det nok, men bør man kanskje ikke ha grunnleggende forståelse for arrays for/while løkker, if setninger, hva en funksjon/metode er osv før man trer inn i LINQ sine rekker? LINQ benytter det mest avanserte i språket til å kode ting kort og "enkelt". Tilogmed anonyme klasser for folk som knapt vet hvordan bruke klasser generelt. Nå antar jeg dette er nivået til OP. Ville nå uansett ikke prøvd å forklare LINQ til en som akkurat har begynt å se på hva en for løkke er og hvordan kombinere dette med en array. Min mening. Lenke til kommentar
The Jackal Skrevet 10. januar 2012 Del Skrevet 10. januar 2012 (endret) Anonyme funksjoner er vel noe av det første du lærer i funksjonell programmering. Konseptet er strengt tatt ikke noe mer komplisert enn en for løkke. Det er bare en litt annen måte å tenke på. LINQ trenger dermed ikke være noe mer komplisert enn noe annet. Kraftig ja, men det er noe av funksjonelle språks natur (ikke at LINQ i seg selv er et funksjonelt språk, men det har mye til felles med en del ting i f.eks F#) Endret 10. januar 2012 av The Jackal 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å