Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Массив разной размерности


Автор: Vetos 11.3.2008, 20:06
Здравствуйте программисты, помогите пожалуйсто.
Нужно организовать массив, длина которого в ходе программы будет менятся, в начале программы массив не имеет елементов, а по  ходу  программы количество ементов меняется, и каждый (допустим) цыкл количесво элементов неизвестно.
TList не предлагать, нужно именно собственное решение проблемы.
Если Вас не затруднит написать пример, напишите пожалуйсто).
Заранее благодарен.
 

Автор: THandle 11.3.2008, 20:10
Динамические массивы?

Код

var
  a : array of integer;
  ...
  SetLength(a, newSize);


?


Автор: Vetos 11.3.2008, 20:13
Я тебя немножко понял, а если я не знаю newSize то что мне тогда делать?

Автор: lukas 11.3.2008, 20:15
Vetos

SetLength это процедура меняющая длину динамического массива... в ходе выполнения...

Автор: THandle 11.3.2008, 20:18
Vetos, почитай какую-нибудь книжку по Делфи для начинающих. smile 

Код

var
  a : array of integer;

...

  SetLength(a, 0);

...

procedure SomeProc;
var
  i : integer;
begin
  for i := 0 to 10 do
    begin
       SetLength(a, length(a) + 1);
       a[i] := i + 100;
    end;
end;


Такой вот простенький глупенький примерчик. smile 
В очень больших циклах подобное лучше не использовать.

Автор: Vetos 11.3.2008, 20:28
Обьясните пожалуйсто, строка
SetLength(a,3);
сделает размер массива для 3 элементов, а с какого начнется массив, с a[0] или a[1]?

Автор: THandle 11.3.2008, 20:29
Vetos, с 0.

Будут доступны элементы с индексами 0, 1, 2

Автор: Vetos 11.3.2008, 20:36
Понял, Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)