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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 16:10   #11
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Кстати, метод, к-рый привел VovanZ, пригодится когда нужна непрямоугольная матрица (бывают и такие). Или некубический куб
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 22.03.2010, 16:18   #12
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от VovanZ Посмотреть сообщение
А разве в делфи функция SetLength поддерживает двумерные массивы?
Я всегда думал, что надо делать вот так:
Код:
//...............................................
SetLength(a, 16);
for i:=1 to 16 do SetLength(a[i], 16);
//...............................................
Такое тоже применяется для ступенчатых матриц
Код:
var
  a: array of array of byte;
  k, i, j: byte;
begin
  randomize;
  SetLength(a, 16);
  for i:=0 to 15 do SetLength(a[i], random(5) + 1);
  k := 1;

  for i := 0 to 15 do begin
    for j := 0 to length(a[i]) - 1 do
    begin
      a[i, j] := k;
      write(a[i, j]:3);
      inc(k)
    end;
    writeln
  end;
  readln
end.
Опоздал, mutabor опередил
eoln вне форума Ответить с цитированием
Старый 23.03.2010, 07:10   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
А по-моему путаницы нет никакой. Это уже настолько привычно, что путаница как раз когда с единицы начинается. Бывает что нужно именно с единицы, например в библиотеке Фурье преобразований я встречал такое, так там на видном месте большими буквами об этом написали, чтобы бедные программисты потом отладчик не мучали
Путаница есть, SetLength позволяет задавать длину строки, а там нумерация идет от единицы.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.03.2010, 15:57   #14
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Путаница есть, SetLength позволяет задавать длину строки, а там нумерация идет от единицы.
Ну как бы все дельфийцы в курсе, что строки с единицы. Хотя если рассматривать самое начало обучения, то возможно это и покажется странным и первые разы будешь путаться, но не более того.

p.s. Кстати я бы посоветовал всем новичкам в Дельфи, кто еще не читал, почитать про внутреннее устройство строк, очень помогает и снимает кучу вопросов и ошибок в дальнейшем.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
setlength Smerch66 Общие вопросы Delphi 8 22.03.2010 19:32
Несколько параметров в SetLength Alex Cones Общие вопросы Delphi 9 21.03.2010 14:00
SetLength никогда не стирает старые элементы массива? TwiX Общие вопросы Delphi 6 20.03.2010 02:35
Вкаких случаях может быть полезной процедура SetLength Ainur Помощь студентам 2 22.05.2009 12:01
считает что ReOpArr это обычный массив и не может применить к нему процедуру SetLength. Dunpeal Общие вопросы Delphi 2 24.12.2007 08:07