Tablica dynamiczna startująca od indeksu 1

0

Witam.
Pytanie jak w temacie.Tworzę tablicę dynamiczną za pomocą:

Program P1;
Uses crt;
Type
  Vec=array of real;
Var
  A,B:Vec;
  i,n,e:byte;
  x:string;

Procedure Wczytaj(AA,BB:vec;xx:string;nn,ee:byte);
Begin
 Repeat
  Writeln('Podaj ile liczb ma wczytac');
  Readln(xx);
  val(xx,nn,ee);
 Until(ee=0);

SetLength(AA,nn); {Przypisuje indeksowi początkowemu 0 a chciałbym 1 czy jest taka możliwość}
SetLength(BB,nn);
Clrscr;
For i:=0 to nn-1 do   {I w tym miejscu musze przypisać i 0 do nn-1 a chciałbym żeby było od i:=1 to nn lecz wtedy wyskoczy błąd sigsegv bo tablica będzie przeładowana}
  Begin
   Write('Podaj A[',i,']:');
   Readln(AA[i]);
  End;

Z góry dziękuję za wszelką pomoc.

poprawienie znaczników <code class="pascal"> - fp

0

Tablice dynamiczne zawsze indeksowane od 0.
Nie ma innej opcji no chyba że przydzielasz pamięć "ręcznie"

0

Co to znaczy że przydzielam pamięć "ręcznie"?

2
type Arr=array[1..1]of real;
type PArr=^Arr;
var Tb:Parr;
var I:Integer;
begin
  getmem(Tb,100*sizeof(real));
  for I:=1 to 100 do Tb^[I]:=I;
  freemem(Tb);
end.

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