Mam problem z pewną procedurą, która usuwa elementy z tablicy. Rzecz jest bardzo dziwna, bo procedura działa zarówno na kartce, jak i osobno w innym pliku. Tylko w programie zachowuje się dziwnie :/ Nie wiem, nazwy ze sobą nie kolidują, wszystko wydaje się być w porządku.
Mógłby ktoś rzucić okiem? Wiem, że trudno tak cokolwiek wyłapać w cudzym kodzie, ale może jednak ktoś przypadkiem znajdzie błąd.
Procedura znajduje się na 137. linijce, a wywołana jest na 407. A oznacza ilość kasowanych elementów, B od którego miejsca zacząć kasowanie.
http://pastebin.com/iNmuwJXm
Sory za polskie znaki :P
edit: Aha, błąd polega na tym, że zawsze gdy podaję 1 jako miejsce od które ma zacząć kasować, procedura nie kasuje pierwszej pozycji.
Pascala nie pamiętam... ale nie jest to przypadkiem tak, ze tablice w tym języku numerowane są od 0 a nie od 1? w kod zaraz spojrzę... ale i tak nie mam czym tego tu skompilować:]
edit:
co to jest ile?
for i:=1 to b do
bym zamienił na
for i:=0 to b-1 do
potem:
for j:=a+b-i+1 to ile do
na:
for j:=a+b-i to ile do
będzie czytelniej
t[j-1]:=t[j];
co to ma na celu?
zmęczony jednak dziś już jestem:]
To ma na celu przestawienie pozostałych elementów tablicy w komórki z których elementy są usuwane.