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


Автор: Traum 10.9.2004, 14:30
Имеются массивы
a[i], b[i], c[i]
Имеются константы
d, e, f

При записи мат. выражения требуется запись вроде следующей:
i:=3;
a[i] *d+b[i]*c[i]+f+e

Как сделать так чтобы указать Delphi, что в ниже следующем выражении
идентификаторы массивов (a, b, c) подразумевают значения соответствующих
массивов для нужного мне i:=3
И выражение при этом записать так:
a*d+b*c+f+e

(Это требуется в связи с имеющимися громоздкими мат выражениями, включающие массивные значения... smile.gif )

Автор: Guest 10.9.2004, 15:41
в цикле

Автор: decoder 10.9.2004, 15:58
возьми какие-нибудь а1, в1, с1, присваивай им значения а[i], b[i], c[i], и юзай их, как те надо - более "умного" решения я не вижу. Покажите, что я не прав.

Автор: Ptica 10.9.2004, 16:43
Прав! smile.gif

Автор: p0s0l 10.9.2004, 18:41
Еще один вариант:
Если a, b и с - массивы одинаковой длины (т.к. у тебя для цикла всего одна переменная i, с помощью которой идёт обращение ко всем массивам), то можешь, если это не сложно, переделать под один массив.

Пример, было так:
var a, b, c : array [1..100] of integer;

а сделай так:
var m : array [1..100] of record a, b, c : integer; end;

Тогда в цикле будет так:
Код
for i := 1 to 100 do
with m[i] do
begin
 ...
 summa := summa + (a*d+b*c+f+e);
 ...
end;



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