Problem z programem zasępującym elementy tablicy średnią wyrazów sąsiednich

0

Witam
Potrzebuje napisać program w delphi w trybie konsolowym który zastępował by elementy tablicy od 1 do n (liczby całkowite, n podawane z klawiatury) średnią arytmetyczna sąsiednich wyrazów. Lewym sąsiadem pierwszego elementu jest ostatni element tablicy a prawym ostatniego jest pierwszy. Oto kod który udało mi sie napisać:

program tablica;
{$APPTYPE CONSOLE}
var tablica: array of array of integer;
n,i,j:integer;
begin
repeat
 writeln('prosze podac liczbe n dla wymiaru tablicy');
 readln(n);
 until (n>=3);
 setlength(tablica,n,n);
      begin
      tablica[1,1]:=1;
      end;
    begin
 
      for i:=2 to n-1 do
          for j:=2 to n-1 do
            tablica[i,j]:= (tablica[i-1,j]+tablica[i+1,j]) div 2
            end;
            begin
        for  i:=1 to 1 do
        for j:=1 to 1 do
             tablica[1,1]:=(tablica[n,n]+tablica[2,1])div 2
             end;
             begin
        for i:=n to n do
        for j:=n to n do
        tablica[n,n]:= (tablica[1,1]+tablica[n-1,n-1])div 2

  end;
  begin
  write(tablica[i,j]);
  writeln
  end;
readln
end.

Program nie wyświetla tablicy oraz na koniec jego działania wyskakuje błąd o treści: Runtime error 203 at 00403C7C Doczytałem że błąd dotyczy braku pamięci. Jak można go poprawić?

0

po 0: takie pytania sie kieruje do działu Newbie.
po 1:

maciekm7 napisał(a)
var tablica: array of array of integer;

czemu "array of array"? tablica ma byc dwuwymiarowa? cos mi sie wydaje ze namieszales.
po 2: powiedz mi w ktorym miejscu uzytkownik podaje liczby. bo ja widze tylko ze podaje ich ilosc.
po 3: powiedz ile razy taka petla sie wykona?

for  i:=1 to 1 do

albo taka:

for i:=n to n do

po 4: wiesz po co jest "begin..end" czy wstawiasz to na oślep gdzie popadnie?
po 5: zgubiłeś średniki.
po 6: poczytaj o podstawach Delphi i o tablicach to to napiszesz w 5 minut.

1 użytkowników online, w tym zalogowanych: 0, gości: 1