![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 02.06.2010
Сообщений: 7
|
![]()
Народ помагите проблемка вот в чём , компилятор наотрез отказывается вычислять sqrt(-1) , впринципе у меня програмка которая должна суммировать , умножать ,делить, отнимать комплексные значения поэтому....
ну вот в комплексных значениях есть мнимая часть которая обезательно умножается на квадтратный корень -1 , если есть идеи как "заменить" или исправить буду весьма благодарен. |
![]() |
![]() |
![]() |
#2 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
Естественно отказывается, мнимая единица явно не может быть типа float (или что там возвращает sqrt). Пишите свой класс для работы с комплексными числами, перегружайте для него функции
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 02.06.2010
Сообщений: 7
|
![]()
а других вариантов нету?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 664
|
![]()
В общем есть. Можете анализировать подкоренное выражение, если оно отрицательное, вычислять корень из абсолютного значения и далее учитывать, что это значение мнимое.
Неприятности приходят и уходят, а жизнь продолжается!
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
если ты не умеешь работать с классами, можешь просто реализовать процедуры деления, умножения, сложения комплексных чисел и работать с ними как с двумерными массивами или записями, например.
есть два комплексных числа 1+i, 2-3i, например. Представляешь их массивами x={1,1}, y={2,-3}. Они будут входными параметрами процедуры, выходной параметр процедуры массив z[2] //сложение procedure sum(x, y: array 1..2 of real, var z:array 1..2 of real) begin z[1]=x[1]+y[1]; z[2]=x[2]+y[2]; end; //умножение procedure multy(x, y: array 1..2 of real, var z:array 1..2 of real) begin z[1]=x[1]*y[1]-x[2]*y[2]; z[2]=x[1]*y[2]+x[2]*y[1]; end; и т.п. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 02.06.2010
Сообщений: 7
|
![]()
понятненько
Последний раз редактировалось Rudeboy; 04.06.2010 в 13:33. |
![]() |
![]() |