Gå til innhold

Hjelp til å forstå en for-løkke


Anbefalte innlegg

Hei alle sammen..

 

Jeg sliter litt her med å få greie på hvordan denne for løkka fungerer, altså hvordan den blir eksekutert ..

 

og hva verdien til resultat kommet til å bli ...

 

Jeg har litt problemer å forstå slike doble for løkker, håper noen kan hjelpe :)

 


int resultat = 0; 

for (int i = 0; i <100; i = i + 10){

  for (int j = i; i > i + 10; j++) {

     resultat ++

   }
}

Lenke til kommentar
Videoannonse
Annonse

int resultat = 0; 

for (int i = 0; i <100; i = i + 10){

  for (int j = i; i > i + 10; j++) {

     resultat ++

   }
}

7397316[/snapback]

 

Først ser du på den øverste for-løkka. Den går så lenge i er mindre enn 100. Først er i 0, så 10, 20, 30, 40, 50, 60, 70, 80 og 90. Neste gang er i 100 og går derfor ikke gjennom. Med andre ord går den gjennom den først for-løkka 10 ganger. For hver av disse gangene går den en visst antall ganger gjennom den andre. Her starter j med samme verdi som i har, altså først 0,10,20 osv. Den skal være mindre enn i+10, altså sin egen startverdi +10, og siden j kun øker med 1 gang pr. omløp vil det si at den går gjennom den for løkka 10 ganger.

 

Da er det bare å regne ut hvor mange ganger den går gjennom den nederste for-løkka i alt. 10*10= 100 ganger. Resultat skal alltid økes med 1 (hvertfall hvis du legger til en ; bak resultat++, sånn som den er nå får du selvsagt en kompileringsfeil) for hver gjennomgang av den nederste forløkka. Altså blir resultat 100.

 

Håper dette var forklarende. Går du forresten på UIO og skal ha eksamen i morra? Mener jeg så den der på ett eldre eksamenssett. I så fall, lykke til :thumbup:

Lenke til kommentar

Har heldigvis god tid på deg før selve eksamen da, vi starter jo ikke før halv 3 :( Skikkelig latterlig. Ta med deg forelesningsnotater og obliger så har du hvertfall en god del å se på, bare sørg for å ha system i rotet, så du ikke bruker 10 minutter på å finne det du skal ha. Igjen, lykke til :thumbup:

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å
×
×
  • Opprett ny...