Безобразия - 1. Я и Delphi.

Apr 15, 2008 01:46

Думала, у кого кривые руки - у меня или у разработчиков Дельфи. Как ни странно, оказалось, что у вторых. 1. С месяц назад я искала в списке математических функций Math для Delphi функцию ошибок erf. Что ее там не оказалось вообще, равно как и других статистических функций, либо они были, но только в кривом виде для статических массивов, так что ( Read more... )

безобразия, вопросы

Leave a comment

Comments 54

lisabeta April 15 2008, 05:59:06 UTC
Мелкомягкие обещают к лету или к концу года 2008 студию выпустить, подождать не желаешь?)
Вообще, собираюсь обзавестись свежими дистрибутивами, могу поделиться как только.

Reply

sanyalal April 15 2008, 12:21:40 UTC
Конца 2008 ждать не стОит, думаю. чем раньше, тем лучше.

Reply


__pu April 15 2008, 07:42:05 UTC
есть

зы. а писать на паскале чтото серезное, имхо несерезно это ;)

Reply

sanyalal April 15 2008, 12:20:17 UTC
Вот мне тоже самое все говорят. Я считала, что все не настолько серьезно, ан нет..
А где он у тебя? Дома? На работе?

Reply

__pu April 15 2008, 12:42:42 UTC
на работе на сервере инсталяшка. мона набалванить, но у мене двд болванки нету. закончились, а на кд не влезет.

Reply

asphyx_lj April 15 2008, 23:25:49 UTC
Пушка! Всё написанное на Ц (не ++) можно легко переписать на Паскале и наоборот :) Я так в детстве развлекался. И странное поведение указателей в Паскале не мешало, как-то выкручивался. И арифметику с указателями как-то выполнял, но уже не помню как.

ЗЫ: А я не защищаю Паскаль :)

Reply


(The comment has been removed)

sanyalal April 15 2008, 12:20:39 UTC
И ты принеси ;)

Reply


corsar_pawtet April 15 2008, 10:24:06 UTC
зачем такие трудности? При чём здесь вообще PChar?!!! Есть же динамические массивы. Например:

var V1 : array of Double;//вектор
var N : integer;//размерность вектора
...
begin
N=...;
....
SetLength(V1,N);//устанавливаем длину
...
V1[i]:=...;//задаём компоненты вектора
...
x:=Norm(V1);//функция нормы (для примера)
end;

А функция пишется например так:

function Norm(V : array of Double) : Double;
var i : integer;
begin
Result:=0;
for i:=0 to Length(V)-1 do //Length(V) - размерность вектора
Result:=Result+sqr(V[i]);
Result:=sqrt(Result);
end;

С матрицами тоже можно похожим образом работать. Если надо, подскажу.

Reply

sanyalal April 15 2008, 12:15:59 UTC
В том-то и дело, что PChar тут совершенно ни при чем.
А в динамических массивах длину надо определить до того, как к массиву обращаешься. У тебя цикл for, а у меня while, там длина сначала неизвестна.
Что-то вроде того, что мне надо, я то ли видела, то ли делала в си++

Reply

corsar_pawtet April 15 2008, 14:39:18 UTC
i:=0;
while i

Reply

asphyx_lj April 15 2008, 23:22:04 UTC
Это с каких пор в Паскале такое есть? o_O Или мне следовало раньше выйти из анабиоза? Что такое SetLength()? И, кстати, неужели и правда нельзя производить арифметические операции с указателями?

Reply


corsar_pawtet April 15 2008, 10:26:26 UTC
а что касается библиотек мат. функций для Дельфи - поищи их в нете. Их кучи людей уже писали. И там всё будет.

Reply

sanyalal April 15 2008, 12:16:46 UTC
Да ,я сначала свою написала, потом в инете нашла библиотеку. Только найденная работала лучше :-[

Reply


Leave a comment

Up