Sssda1 Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 Kan man istedet for int i = 0...... bruke en array av tall å gå gjennom i for løkka ? feks at man har en array med tallene {1,2,3,5,8,13,21}, og vil bruke de istedet for 0 til 10 eller hva det nå er. Jeg prøvde med for (int array[i] = array[0]; array[i] <= array[i]; array[i++]) men det virket ikke.. Går det på en annen måte? Lenke til kommentar
etse Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 bruk noe lignende dette? for (int i = 0; i <= arraySize; i++) { int j = array[i]; some_Function(j); } Lenke til kommentar
Sssda1 Skrevet 4. oktober 2012 Forfatter Del Skrevet 4. oktober 2012 bruk noe lignende dette? for (int i = 0; i <= arraySize; i++) { int j = array[i]; some_Function(j); } Den var ikke dum, skal prøve den! Lenke til kommentar
hjahre Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 (endret) Det som er mulig er å bruke to arrays. Et som mapper fra i til x. Bare sørg for at maksimumsverdien i det ene arrayet er større enn eller like stort som størrelsen av det andre. f.eks. int idx[6] = {2, 0, 1, 3, 5, 4}; char str[6] = {'e', 'l', 'h' 'l', '\0', 'o'}; for(int i = 0; i < 6; i++) { printf("%c", str[idx[i]]); } EDIT: Endret noen kodefeil Endret 4. oktober 2012 av hjahre Lenke til kommentar
jonny Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 (endret) Eller noe sånt: int[] intlist = {1,2,3,5,8,13,21}; for (int i : intlist) { System.out.println(i); } Hvis du vil slippe å opprette array'er utenfor løkka (hvis du kun kommer til å bruke den inne i løkka), kan du gjøre følgende: public class Test { public static int[] intArray(int... ints) { return ints; } public static void main(String[] args) { for (int i : intArray(1,2,3,5,8,13,21)) { System.out.println(i); } } } Endret 4. oktober 2012 av jonny Lenke til kommentar
etse Skrevet 4. oktober 2012 Del Skrevet 4. oktober 2012 Vet ikke hvorfor, men jeg tenkte C med en gang, dette er java og kan da gjøres enda lettere. Vet ikke helt hva du prøver å oppnå, men dette her er kanskje noe som gjør det du ønsker - bare lettere enn mitt forrige eksempel: for (int i : myArray) { // i være de ulike verdiene i arrayet. some_Function(i); } 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å