Модератор: Модераторы
type
   PSpis_massivov = ^Spis_massivov;
   Spis_massivov = record
    //  тут Описание своего массива
     next: PSpis_massivov   //указатель на след запись или nil если последний
Есть одномерный массив символов(где-то 25 элементов), теперь этот массив надо скопировать (а=в) в цикле(от 1 до 255), в зависимости от условия случайного числа(чётное копируем, нечётное не копируем)..., т.е. я заранее не знаю сколько будет этих массивов, чтоб заранее их описать.. как можно это реализовать?
procedure Clon(nclons: word);
var
  ArOrigin: array of char; // клонируемый массив
  ArClon,ArClon2: array of array of char; // 1ая размерность = кол-ву клонов, 2-ая размерность = размерности исходного массива
  i,j: longword;
begin
  SetLength(ArOrigin,26);
  // массив заполняется заглавными буквами англ. алфавита (26 букв)
  for i:=Low(ArOrigin) to High(ArOrigin) do
  ArOrigin[i]:=Char(i+65);
  // устанавливаем размерность массива
  SetLength(ArClon,nclons,High(ArOrigin)+1);
  SetLength(ArClon2,nclons,High(ArOrigin)+1);
  // клонируем массив в цикле
  for i:=0 to nclons-1 do
  ArClon[i]:=copy(ArOrigin);
  // можно копировать указатель, а не массив
  // но в правильности сомневаюсь
  for i:=0 to nclons-1 do
  Pointer(ArClon2[i]):=@ArOrigin[0];
end;             
Вернуться в Обучение Free Pascal
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1