imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 15.08.2005, 01:09     # 1
anakarn
Banned
 
Аватар для anakarn
 
Регистрация: 06.11.2004
Сообщения: 135

anakarn Убей себяanakarn Убей себяanakarn Убей себя
Delphi: работа с массивами

Можно ли массиву сразу всем его элементам (а не в цикле) передать значения? Без использования предварительной задачи значаний в const (const a : array [0..2] of real = (1,2,3); ) до begin'а, а уже после него, прям в проге?
anakarn вне форума  
Старый 15.08.2005, 10:46     # 2
PSyton
Junior Member
 
Аватар для PSyton
 
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187

PSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форуме
Странный вопрос. А чем цикл плох?
Хотя если значения одинаковые, типа 0, то на С тебе помогло бы ZeroMemory(). или memset()
можно и без цикла.
a[0]=0;
a[1]=10;
...
__________________
Дураки не динозавры - они не вымрут...
PSyton вне форума  
Старый 21.08.2005, 16:56     # 3
Willow
Junior Member
 
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118

Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)Willow Реально крут(а)
Можно при вызове функции (процедуры):

Procedure FOO(a:array of integer);
begin
End;
//где-то дальше
FOO([1,2,3,4,5,6,7]);
Willow вне форума  
Старый 23.08.2005, 06:50     # 4
iam_xor
Junior Member
 
Аватар для iam_xor
 
Регистрация: 08.09.2004
Сообщения: 50

iam_xor Ушлепокiam_xor Ушлепок
можно заполнить и блоком памяти за один проход
iam_xor вне форума  
Старый 24.08.2005, 08:47     # 5
Blacky
Guest
 
Сообщения: n/a

Цитата:
Сообщение от iam_xor
можно заполнить и блоком памяти за один проход
Только нужно помнить, что динамические массивы, покрайней мере многомерные, не хранят данные в одном непрерывном блоке.
 
Старый 25.08.2005, 19:51     # 6
PVitaliy
Junior Member
 
Регистрация: 28.10.2003
Адрес: Украина
Сообщения: 57

PVitaliy Нимб уже пробиваетсяPVitaliy Нимб уже пробивается
Цитата:
anakarn:
Можно ли массиву сразу всем его элементам (а не в цикле) передать значения? Без использования предварительной задачи значаний в const (const a : array [0..2] of real = (1,2,3); ) до begin'а, а уже после него, прям в проге?
нет, нельзя, только цикл или все что угодно что приведет к поэлементному доступу a[i] = ...
Также ZeroMemory FillMemory могут помочь

Цитата:
Blacky:
Только нужно помнить, что динамические массивы, покрайней мере многомерные, не хранят данные в одном непрерывном блоке.
хранятся непрерывно. В случае многомерных хранятся указатели на указатели на указатели (в зависимости от мерности) на одномерный масив, который непрерывный. Т.е. для двухмерного динамического масива a array of array of integer, a[0] будет указатель на одномерный масив, элементов в котором только, чему равна вторая мерность масива
PVitaliy вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:45.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.