Witam! Mam problem z poniższym programem. Chciałbym aby podawał największą wartość z tabeli. Niestety nie wiem czemu ale podaje za każdym razem wartość w pierwszej komórce tabeli. Jeśli to głupie pytanie, przepraszam, uczę się.
I jeszcze mam pytanie związane z funkcjami. Dlaczego gdy napisałem "surową" funkcję, która 10 razy wypisuje wartość tejże funkcji, pokazuje liczby -164, -176, i potem odejmuje 20 aż do -336.
PROGRAM prog;
uses crt;
var a:integer;
var tab:array[1..10] of integer;
function max(i:integer):integer;
BEGIN
if max<tab[i] then begin
max:=tab[i];
end;
i:=i+1;
if i<=10 then max(i);
END;
BEGIN
clrscr;
randomize;
for a:=1 to 10 do begin
tab[a]:=random(30);
end;
for a:=1 to 10 do begin
write(tab[a]:4);
end;
writeln;
writeln;
writeln('Najwieksza liczba to ',max(1));
readln;
END.