Witaj, bez zbędnego pitolenia przejdę do rzeczy.
jeśli to powtarza i i= 1 potem 2 potem 3 potem 4 to po co pisać else nie wiem czy dobrze to rozumiem bo i tak zawsze i+1 będzie wieksze
Otóż nie, mylisz się. Porównujesz wtedy element o indeksie n do elementu o indeksie n+1 czyli poprzedni do następnego. Więc warunek jest ok bo z tego co widzę trafia to do innych tablic. Pozwolę sobie przy okazji pominąć komentowanie działania jak i estetykę owego kodu powołując się na klauzurę sumienia.
i po co jest ta linijka j:=j+1; tego nie rozumiem wgl
Proste, ponieważ musisz iterować zmienną i owa musi rosnąć
podstaw sobie tam wartość np:0 i zacznij od niej, będzie wyglądało to tak:
0:=0+1 // 1
1:=1+1 // 2
2:=2+1 // 3
i czemu jest to tablicam[j] np a nie i ?
Ponieważ byłyby puste elementy w tablicy, albo nie tyle co puste lecz pewne elementy zostałby pominięte.
Dlatego też w Delphi stosuje się teraz taką implementację:
tablica := tablica + [ <jakaś wartość, np: 10 > ]
i dla czego jest na koncu i:= i+2
Jest tak ponieważ przeskakujesz o 2 indexy do przodu, bo skoro już coś sprawdziłeś to nie będziesz tego sprawdzał raz jeszcze, przynajmniej to wynika z tego kodu. Jeszcze wiele ale to wiele nauki przed Tobą, ale nie łam się i idź do przodu. Pozdrawiam! :-)