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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2013, 09:15   #11
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Если предположить, вселенная бесконечна, то количество атомов в ней равно бесконечности.
Ерунда.
Нет такого следствия.
Цитата:
Отсюда следует, что способов инициализации массива также бесконечно много.
В принципе, по законам логики из неверного утверждения может следовать какое угодно: как неверное, так и верное.
Но практический опыт подсказывает, что из неверного предположения обычно следуют только неверные выводы.
s-andriano вне форума Ответить с цитированием
Старый 14.04.2013, 17:22   #12
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию

А в данном случае почему ошибка Floating point division by zero

var
n:integer;
i:real;

i:=5;
n:=0;
while i<100 do
begin
n:=n+1;
Frequency[n]:=i;
i:=i+0.001;
end;
for n:=1 to 100000 do
begin
ff1:=2*pi*Frequency[n]*Mei;
ff2:=(power(fp,3)*Me)/Frequency[n]; // здесь
if abs(ff2-ff1)<=0.001 then begin
FF:=Frequency[n];
break;
end;
end;
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 14.04.2013, 18:00   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты отладчиком проходил? Смотрел чем заполняется массив Frequency?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.04.2013, 18:09   #14
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию

Прошелся. Нулями заполняется. Но я не врубаюсь почему он нулями заполняется.
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 14.04.2013, 18:21   #15
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Зачем вообще заполнять массив?
Вы не можете "на лету" вычислять текущую рассматриваемую частоту?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.04.2013, 18:27   #16
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Лукавите? если
Код:
Frequency:array[5..10000] of double;
то при n:=0 в цикле
Код:
while i<100 do
begin
n:=n+1;
Frequency[n]:=i;
i:=i+0.001;
end;
сразу будет ошибка
ReportCube вне форума Ответить с цитированием
Старый 14.04.2013, 18:58   #17
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию

Тогда допустим так

i:=5;
while i<10000 do
begin
ff1:=2*pi*i*Mei;
ff2:=(power(fp,3)*Me)/i;
i:=i+0.1;
if abs(ff2-ff1)<=0.1 then begin
FF:=i-0.1;
break;
end;
end;

В результате тоже 0.
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 14.04.2013, 19:09   #18
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Дайте начальные значения mei, me, fp, а то, например, у меня ff1 и ff2 расходятся, и получается, что нет такого значения частоты, при котором они пересекаются, а так как FF объявлена глобально, то инициализирована компилятором нулем.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.04.2013, 19:25   #19
LLIALLIJIbIK
Пользователь
 
Регистрация: 26.08.2010
Сообщений: 51
По умолчанию

mei, me, fp считаются по формулам. ну в итоге, и у меня получается, что они не пересекаются. я прям в тупике
LLIALLIJIbIK вне форума Ответить с цитированием
Старый 14.04.2013, 20:33   #20
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от LLIALLIJIbIK Посмотреть сообщение
А в данном случае почему ошибка Floating
Потому, что Вы делите на ноль.

Цитата:
Сообщение от LLIALLIJIbIK Посмотреть сообщение
Прошелся. Нулями заполняется. Но я не врубаюсь почему он нулями заполняется.
Потому, что Вы нигде не заполняете ничем другим.

Сформулируйте задачу.
У меня стойкое впечатление, что Вы пытаетесь решить ее совершенно неправильно, в частности, массив частот здесь вообще не нужен.
s-andriano вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Деление на ноль происходит без ошибок Dim4 Общие вопросы Delphi 9 28.05.2012 23:22
Деление на ноль и запрет ввода букв sunnyws Microsoft Office Word 2 10.06.2011 14:20
Деление на ноль Bearw08 Свободное общение 26 18.03.2009 18:39
Деление на ноль! Hacker19_90 Паскаль, Turbo Pascal, PascalABC.NET 7 01.10.2008 22:59