Показать сообщение отдельно
  #2  
Старый 09.05.2007, 03:16
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию

Размер статического массива должен быть известен заранее, а чтобы сделать то, что ты хочешь, нужен динамический массив. Твой метод в этом случае не годится. Вот как это надо делать…
Код:
 
uses crt;
type
   mas = array[1..1] of char;
   mat = array[1..1] of ^mas;
var
   matrica : ^mat;
   massive : ^mas;
   i, j : integer;
begin
   clrscr;
   GetMem( massive, sizeof(char)*12 );
   for i := 1 to 12 do
      massive^[i] := chr( ord('0') + i);
   for i := 1 to 12 do
      writeln( massive^[i] );
   freemem( massive, sizeof(char)*12 );
 
   GetMem( matrica, sizeof( pointer )*10 ); { n = 10 }
   for i := 1 to 10 do
      GetMem( matrica^[i], sizeof(char)*20 ); { m = 20 } { matrica[1..n,1..m] }
   for i := 1 to 10 do
      for j := 1 to 20 do
         matrica^[i]^[j] := chr( ord('0') + (i-1)*20+j );
   for i := 1 to 10 do
   begin
      for j := 1 to 20 do
         write( matrica^[i]^[j], ' ');
      writeln;
   end;
   for i := 1 to 10 do
      FreeMem( matrica^[i], sizeof(char)*20 );
   FreeMem( matrica, sizeof( pointer ) *12 );
end.
Ответить с цитированием