Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2009, 19:05   #1
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию переделать массив из статического в динамический

Незнаю как переделать в коде массив из статического в динамический
вот код:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  n = 4;
var
  mas: array[1..n, 1..n] of byte;
  i, j, m: byte;

begin
    { TODO -oUser -cConsole Main : Insert code here }
  randomize;
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      mas[i, j] := random(10);
      write(mas[i, j]:2)
    end;
    writeln
  end;
  m := mas[2, 1];
  for i := 1 to n do
  for j := 1 to i - 1 do if mas[i, j] > m then m := mas[i, j];
  writeln('Max = ', m);
  readln
end.
Saka вне форума Ответить с цитированием
Старый 21.12.2009, 19:21   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Сначала объявить массив
Код:
mas: array of Byte;
Затем инициализировать его
Код:
SetLength(mas, n);
psycho-coder вне форума Ответить с цитированием
Старый 21.12.2009, 19:34   #3
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

а где точно его надо инициализорвать?
Saka вне форума Ответить с цитированием
Старый 21.12.2009, 19:39   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Объявлять в var, где обычные массивы, а инициализировать в коде между begin и end. Но до начала его использования!
psycho-coder вне форума Ответить с цитированием
Старый 21.12.2009, 19:44   #5
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

а разве индексы менять не надо? у стат
Код:
for i:=1 to n do
а у динам
Код:
for i:=0 to n-1 do
или ошибаюсь?
Saka вне форума Ответить с цитированием
Старый 21.12.2009, 19:45   #6
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

и ругается с random [DCC Error] Project2.dpr(22): E2010 Incompatible types: 'Dynamic array' and 'Integer'
Saka вне форума Ответить с цитированием
Старый 21.12.2009, 19:45   #7
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Все верно, нужно менять.
адд
Массив то двумерный. Тогда так объяви
Код:
mas: array of array of Integer;
// инициализация
SetLength(mas, n, n);

Последний раз редактировалось psycho-coder; 21.12.2009 в 19:50.
psycho-coder вне форума Ответить с цитированием
Старый 21.12.2009, 19:50   #8
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

Цитата:
Сообщение от Saka Посмотреть сообщение
и ругается с random [DCC Error] Project2.dpr(22): E2010 Incompatible types: 'Dynamic array' and 'Integer'
а с этим че делать?
Saka вне форума Ответить с цитированием
Старый 21.12.2009, 19:55   #9
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

так?
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  n = 4;
var
  mas: array of array of byte;
  i, j, m: byte;

begin
    { TODO -oUser -cConsole Main : Insert code here }
 setlength(mas,n,n);
  randomize;
  for i := 0 to n-1 do
  begin
    for j := 0 to n-1 do
    begin
      mas:= random(10); //ошибка [DCC Error] Project2.dpr(22): E2010 Incompatible types: 'Dynamic array' and 'Integer'
      write(mas[i, j]:2)
        end;

    writeln
  end;
           SetLength(mas,n);
  m := mas[2, 1];
  for i := 1 to n do
  for j := 1 to i - 1 do if mas[i, j] > m then m := mas[i, j];
  writeln('Max = ', m);
  readln
end.
Saka вне форума Ответить с цитированием
Старый 21.12.2009, 20:17   #10
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

так можно или нельзя использовать динамический массив с рандомом?
Saka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив Vito89 Помощь студентам 1 20.10.2009 01:55
Динамический массив Kiragaz Общие вопросы C/C++ 8 29.09.2009 22:30
Помогите создать динамический массив из статического в готовой проге!) Sitis Помощь студентам 12 16.04.2009 11:04
Замена статического массива на динамический Славный Общие вопросы Delphi 1 11.06.2008 00:19
динамический массив Dimon Паскаль, Turbo Pascal, PascalABC.NET 3 21.03.2008 18:08