Avatar billede tango42 Nybegynder
21. oktober 2003 - 14:37 Der er 1 kommentar og
2 løsninger

Nemt ? vedr. en for løkke

Jeg har en for løkke som går fra I=2 til J. I for-løkken er en if sætning. Hvis den er opfyldt vil jeg gerne gave at for løkken starter forfra, dvs. I=2 og ikke fortsætte med løkken. Løkken skal kun forsætte hvis if sætningen ikke er opfyldt...Nogen ideer?

      if J = 1 then
        ErrorLocations[J-1] := BitNumber
      else
        begin
          for I := 2 to J do
            if BitNumber = ErrorLocations[J-I] then
              BitNumber := Random(NumberOfBits+1);
          ErrorLocations[J-1] := BitNumber;
        end;
Avatar billede arne_v Ekspert
21. oktober 2003 - 14:40 #1
I := 2;
while I <= J do begin
  ...
  if something then
      I := 2;
  else
      I := I + 1;
end;
Avatar billede dkn Nybegynder
21. oktober 2003 - 14:41 #2
hm ved ikke hvor smart det er, men du laver en label og bruger goto og afslutter så løkken.

Noget lign:

var
Back:label;
begin

Back:
for I := 2 to J do
            if BitNumber = ErrorLocations[J-I] then
begin
goto Back;
              BitNumber := Random(NumberOfBits+1);
break;
end;
Avatar billede tango42 Nybegynder
21. oktober 2003 - 15:16 #3
Jeg takker de herrer... dkn det var lige det jeg søgte
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