Gå til innhold

Anbefalte innlegg

Skrevet

Hei,

noen som vet hva det betyr å traversere en array? Har IT2 og oppgave om det, har hørt at læreren har sagt begrepet flere ganger, men aner egentlig ikke hva det betyr... Det står ikke forklart i boka og finner ikke noe på internett.

Setter stor pris på kjapt svar, skal levere oppgaven i løpet av de neste par timene og har ikke mulighet til å spørre læreren.

Videoannonse
Annonse
AnonymBruker
Skrevet

Gå gjennom en array element for element. Kan gjøres med f.eks en for-løkke.

AnonymBruker
Skrevet

Hei,

noen som vet hva det betyr å traversere en array? Har IT2 og oppgave om det, har hørt at læreren har sagt begrepet flere ganger, men aner egentlig ikke hva det betyr... Det står ikke forklart i boka og finner ikke noe på internett.

Setter stor pris på kjapt svar, skal levere oppgaven i løpet av de neste par timene og har ikke mulighet til å spørre læreren.

Det betyr rett og slett å "gå gjennom" array'et, "hakk for hakk" for å bruke folkelige termer.

Om man f. eks har et array på formen int numbers[10], så kan man traversere seg gjennom alle 11 elementene (gitt at første arrayindeks begynner på numbers[0]). For hver iterasjon øker man pekeren på arrayposisjonen med +1, slik at man i neste iterasjon kommer til neste element i arrayet.

Traversering kan også brukes på andre datastrukter, som "hash'er", binærer trær, grafer etc.

Typisk er det at man gjør en eller annen operasjon på dataelementene når man traverserer, f. eks regning, tegne opp grafikk på skjerm, systemkall etc. Det kommer helt an på hva som programmeres.

Skrevet

Ok, tusen takk for svar! :)

Huff, IT er egentlig ikke min greie når vi holder på med programmering... Noen som vet hvordan man skriver ut f.eks navn i output-panelet i Flash CS5? Jeg har jo søren meg fulgt med hele tida forrige uke når vi gjennomgikk ting, men får ikke til en dritt likevel... *sukk*

AnonymBruker
Skrevet

Og et eksempel (ikke et spesifikt språk, men kode som ligner f. eks java eller c)

int numbers [10] = {1,2,3,4,5,6,7,8,9,10,11};

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

print numbers;

}

...som ville skrevet ut hvert element til skjerm (på kommandolinje)

Skrevet

Tusen takk :) Fant en måte selv også når jeg kikket nøye gjennom eksemplene jeg har gjort før, heldigvis - nå klarer jeg forhåpentligvis de fleste spørsmålene, wii :danse:

Skrevet

Det var visst for mye å forvente at jeg skulle klare oppgavene likevel...

Noen som kan hjelpe meg med å finne kodebiten som mangler nedenfor?

Oppgave: Lag en array med tallene 34,53,2,3,34,26,26,85,3,4,98,2,12 der du printer ut alle tall mindre enn 10 i output.

Koden:

var tall:Array= new Array(34,53,2,3,34,26,26,85,3,4,98,2,12);

for(var i:int=0;[MANGLER NOE HER])

{

if (i<10%2==0)

{

trace(tall)

}

}

Jeg har prød med (var i:int=0;i<tall.length; i<10) men da får jeg bare en uendelig løkke som gjør at hele programmet låser seg... Help, please? :)

Gjest NotSo
Skrevet

var tall:Array= new Array(34,53,2,3,34,26,26,85,3,4,98,2,12);

for(var i:int=0;i<tall.length; i++)

{

if (i<10%2==0)

{

trace(tall)

}

}

Da vil du skrive ut hvert element i arrayen

Skrevet

Takk for svar, det virket, men ikke som det skulle - alle tallene var der fortsatt. Sikkert jeg som ikke har laget den if-løkka sånn som den skal lages... Noen som vet hvordan man kan få printet ut tallene mindre enn 10?

Gjest NotSo
Skrevet

var tall:Array= new Array(34,53,2,3,34,26,26,85,3,4,98,2,12);

for(var i:int=0;i<tall.length; i++){

if(tall < 10){

trace(tall)

}

}

Husker ikke helt ActionScript syntaxen, men TROR det skal funke

AnonymBruker
Skrevet

Det var visst for mye å forvente at jeg skulle klare oppgavene likevel...

Noen som kan hjelpe meg med å finne kodebiten som mangler nedenfor?

Oppgave: Lag en array med tallene 34,53,2,3,34,26,26,85,3,4,98,2,12 der du printer ut alle tall mindre enn 10 i output.

Koden:

var tall:Array= new Array(34,53,2,3,34,26,26,85,3,4,98,2,12);

for(var i:int=0;[MANGLER NOE HER])

{

if (i<10%2==0)

{

trace(tall)

}

}

Jeg har prød med (var i:int=0;i<tall.length; i<10) men da får jeg bare en uendelig løkke som gjør at hele programmet låser seg... Help, please? :)

Nå er jeg ikke ekspert på akkurat dette spårket, men du har nok en feil i trejde ledd i parentesen der du til slutt skriver "i<10". I dette (tredje) leddet skal du spesifisere økningen per iterasjon, så det er nok grunnen til at det går i uendelig løkke. Prøv å bytte ut med "i++", "i+1" eller hva man nå skriver for å øke med en hver iterasjon i språket du bruker :)

Skrevet

Takk for flere tips, endte opp med koden som følger:

var tall:Array= new Array(34,53,2,3,34,26,26,85,3,4,98,2,12);

for(var i:int=0;i<tall.length; i++)

{

if (tall<10)

{

trace(tall)

}

}

AnonymBruker
Skrevet

IT er kjempeartig. Men ikke programmering eller skrive dokument... Usj.

Men sistnevnte så bra ut, J! :)

  • Liker 1
AnonymBruker
Skrevet

Takk for flere tips, endte opp med koden som følger:

var tall:Array= new Array(34,53,2,3,34,26,26,85,3,4,98,2,12);

for(var i:int=0;i<tall.length; i++)

{

if (tall<10)

{

trace(tall)

}

}

Noen grunn til at du tar en if test inne i "kroppen" til for løkken?

Om dette er for at løkken skal avsluttes når i>10 så trenger du ikke dette, for denne testen gjøres allerede i andre del i betingelsene for for løkken (i<tall.lengt).

Skrevet

Aner ikke, bare sånn vi har gjort det før når vi skal "definere" i-greia... Har egentlig ikke peiling på hva jeg driver med, så kan nok ikke forklare hvorfor jeg har gjort det sånn :gjeiper:

Forresten enig i at programmering SUGER! Var ikke super IT-fan før heller, men det var i alle fall greit nok å lage animasjoner i flash ;) Jaja, heldigvis bare ca 2 mnd igjen, håper bare at jeg ikke kommer opp i eksamen..

Gjest NotSo
Skrevet

Noen grunn til at du tar en if test inne i "kroppen" til for løkken?

Om dette er for at løkken skal avsluttes når i>10 så trenger du ikke dette, for denne testen gjøres allerede i andre del i betingelsene for for løkken (i<tall.lengt).

Variabelen int i eksisterer vel bare inne i for-løkka? Eller er det jeg som husker feil, jeg har også lært det slik, synes det er lettere å lese og da.

AnonymBruker
Skrevet

Noen grunn til at du tar en if test inne i "kroppen" til for løkken?

Om dette er for at løkken skal avsluttes når i>10 så trenger du ikke dette, for denne testen gjøres allerede i andre del i betingelsene for for løkken (i<tall.lengt).

Det er fordi hun bare skal skrive ut tallene som er mindre enn 10 :)

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!

Opprett en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...