опубликован 25-07-2001 14:35 MSK
Нелло ту олл!!Снова задаю свой вопрос - какого черта в
borland C++ 3.1 глючат комплексные числа.
Ситуация следующая:
например
complex a=(1.3,1.4),b=(2.3,5.6),c
c:=a*b; //все в порядке;
a:=a+b; //все в порядке
b:=b+a; //вылетаем отовсюду, откуда можно, "программа допустила" и т.д.
borland C++ 5.01 скажет, что я типа полез на запрещенный адрес. При пошаговой трансляции выясняется(и в 3.1, и в 5.01) что падаем мы где-то в complex.h при выходе из процедуры умножения.
В принципе может повезти, тогда при вводе нескольких дополнительных комплексных переменных все заработает, но сколько их потребуется в определенном случае - один бог знает. ПОМОГИТЕ!!!!!!!!!!!
Но это еще не все -
в другой программе запускаем много раз одну функцию - интегрируем по комплексной переменной(@#!!$#@!$).
После нескольких сотен вызовов в пределах одного запуска программы строка вида
while (real(in_nu)>1.0) {i1++; in_nu=in_nu-1.0;}
начинает выполняться около секунды,
real(in_nu)~230.0
Переход к замедленной работе очень резкий - можно указать конкретное значение переменной.
За шаг до этого строка выполнялась мгновенно.
В чем дело???????? у меня celeron 366, для него это плевое дело, но секунда на 1000 сложений и 0.1 секунды на 999 сложений - это странно.
Помогите, если можете.