Wpis z mikrobloga

Panowie, może ktoś rzucić okiem? W Dev-Pascalu ten fragment kompilował się, a w Lazarusie już nie chce..

for k:=1 to n do
begin
writeln(a[k]:4:2,' ',a[k+1]:4:2,' ',a[k+2]:4:2);
inc(k,2);
end;

Dostaję komunikat:

Error: Illegal assignment to for-loop variable "k"


Jak inaczej mogę to rozwiązać? Bardzo potrzebuję tego zwiększania licznika o 2 po każdym "przebiegu" bo inaczej mój program nie ma sensu.

#programowanie #pascal
  • 4
@strusmig: nie wolno zwiększać zmiennej wykorzystywanej w pętli. Ba - to nawet fizycznie nie jest zmienna, więc nie masz do niej dostępu. Nie wiem jak działa dev-pascal, ale komunikat masz godnie ze sztuką - jest to niezgodne ze standardem.
Możesz próbować wariantu while, repeat, albo continue w for do przeskoczenia obiegu

edit: możesz spróbować przełączenie opcji zgodności z Turbo Pascalem w ustawieniach, ale wg nie powinno się tak robić

edit 2: