Avatar billede pernillemb Nybegynder
22. maj 2002 - 13:47 Der er 12 kommentarer og
1 løsning

Problemer med nogle FOR ... NEXT sætninger

Jeg har et problem med 3 FOR...NEXT sætninger
Det drejer sig om følgende (eller noget der ligner):

For i = 1 to 5
  For j = 1 to 5
    For k = 1 to 25
      Bla, bla, bla...
    Next
  Next
Next

Ovenstående er forkert, det ved jeg, men det jeg vil have er at den tæller på følgende måde:
k=1  i=1  j=1
k=2  i=1  j=2
k=3  i=1  j=3
k=4  i=1  j=4
k=5  i=1  j=5
k=6  i=2  j=1
...
k=25  i=5  j=5

Hvad gør jeg forkert og hvordan kommer jeg videre???

Pernille
Avatar billede ocp Nybegynder
22. maj 2002 - 13:50 #1
Du skal tænke således: For hver værdi af i gennemløbes alle værdier i j og for hver værdi i j gennemløbes alle i k.

For k = 1 to 25
  For i = 1 to 5
    For j = 1 to 5
      Bla, bla, bla...
    Next
  Next
Next
Avatar billede pernillemb Nybegynder
22. maj 2002 - 13:52 #2
Det virker ikke, det har jeg prøvet. Jeg vil have den til at tælle som jeg skrev ovenfor!
Avatar billede ocp Nybegynder
22. maj 2002 - 13:52 #3
Jamen det gør det altså:
Avatar billede proaccess Nybegynder
22. maj 2002 - 13:53 #4
Du kan ikke tælle k og j op sammen, du skal se det som om at løkkerne løber inde i hinanden...

1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2
Avatar billede ocp Nybegynder
22. maj 2002 - 13:53 #5
For k = 1 to 25
  For i = 1 to 5
    For j = 1 to 5
      debug.print "K=" & k & " I=" & i & " J=" & j
    Next
  Next
Next
Avatar billede ocp Nybegynder
22. maj 2002 - 13:54 #6
Ja, det kan så ikke være i debug-vinduet, men  det virker altså.
Avatar billede pernillemb Nybegynder
22. maj 2002 - 13:55 #7
Ved at skrive som du gør så tæller den som følger:
k=1  i=1  j=1
k=1  i=1  j=2
k=1  i=1  j=3
...
k=1  i=2  j=1
k=1  i=2  j=2

Jeg vil have k til at tælle 1 op for hver gang den "kører" en linie!
Avatar billede ocp Nybegynder
22. maj 2002 - 13:55 #8
Åh... jeg skal læse spørgsmålet ordentligt. Sorry.
Avatar billede ocp Nybegynder
22. maj 2002 - 13:57 #9
Så er det sådan her:

  For k = 1 To 25
    For j = 1 To 5
      Debug.Print "K=" & k & " I=" & (k \ 5) + 1 & " J=" & j
    Next
  Next
Avatar billede proaccess Nybegynder
22. maj 2002 - 13:58 #10
for i = 1 to 5
  for j = 1 to 5
    debug.print "K=" & (i - 1) * 5 + j & " I=" & i & " J=" & j
  next
next
Avatar billede jennemaan Nybegynder
22. maj 2002 - 13:59 #11
k=0
i=1
j=0
while k<25
  k=k+1
  j=j+1
  if j=6 then
    j=1
    i=i+1
  end if
  debug.print "K=" & k & " I=" & i & " J=" & j
wend

/Jennemaan
Avatar billede pernillemb Nybegynder
22. maj 2002 - 14:05 #12
Jeg har selv løst problemet nu:

k=0
for i=1 to 5
  for j=1 to 5
    k=k+1
    bla, bla
  next
next

På denne måde tæller den automatisk k 1 op for hver gang j bliver talt 1 op, ialt 25 gange (5*5).

Ellers mange tak for hjælpen. ;-)

Pernille
Avatar billede proaccess Nybegynder
22. maj 2002 - 14:18 #13
Kan du så ikke lige acceptere dit eget svar og derved lukke spørgsmålet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester