![]() |
|
![]() ![]() ![]() |
|
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
Ребят! Есть программа:
Не могу вывести рез-т на экран... пробовал добавить в код: Form1->Edit1->Text=k; но он ее не распознает k! А если сделать K глобальной переменной, то выводит 1... как быть? |
|||
|
||||
nworm |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 1 Всего: 8 |
Если это под консоль планируется, то надо в начало добавлять
А если, формочки, то вместо main будет Button1Click... |
||||
|
|||||
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
Код исправил:
Только теперь возьникает ошибка: invalid floating point operation. По инету вроде полазил, однако не получается исправить! Help! |
|||
|
||||
Michrutka |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 6.2.2008 Репутация: нет Всего: нет |
а в какой строчке возникает ошибка?
к слову
функция abs возвращает целое число по скольку что left, что right у тебя double нужно испоьзовать функцию fabs()
|
||||
|
|||||
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
Ошибка в этой строчке:
while (abs(right - left) >= pow(static_cast<double>(10), -15)); Спасибо за fabs!) |
|||
|
||||
Anikmar |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Вовсе нет. У меня ошибка в этой строчке:
right получает значение +INF. Не вдаваясь в преобразования констант (вполне достаточно десятичной точки), я не лезу в математику - в виду того, что уже давно все забыл напрочь и я не помню что там с отрицательными дробными степенями. Просто констатитурю: ошибка тута. |
||||
|
|||||
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
Вроде исправил эту строчку:
Тока за ошибкой следует ошибка... теперь: floating point division by zero. Видимо, это из-за слишком больших чисел... тока во что с ними делать? |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
Вот сама задача:
k изменяется от 0 до бесконечности ((4k+1)! / [(2k)!]^2) * x^2k = =1/2*[(1-4x)^(-3/2) + (1+4x)^(-3/2)] X принадлежит интервалу [-1/4 ; 1/4) Найти мин. k, которое будет удовлетворять условию: abs(правая часть - левая часть) < 10^(-15) |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 16 Всего: 41 |
интересное исполнение факториала + к этому почему тип double у функции факториала??? а почему передается дробное? факториал у дробного числа? Надо бы саму логику и математику продумать, а потом писать... -------------------- |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Мне кажется, что методом перебора такие задачи вообще не решаются В программе перебирается х, а в задаче сказано
Тогда, получается, что надо перебирать k? До бесконечности? Задача решается другим методом, не перебором. |
|||
|
||||
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
В задаче вроде перебирается и x (в заданном интервале) и k (до завершения условия)! А как по-другому можно сделать?
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
molodzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 18.11.2007 Репутация: нет Всего: нет |
Т.к. надо сравнивать с 10^(-15), то и к X я прибавляю 10^(-15)...
Это сообщение отредактировал(а) molodzo - 9.3.2009, 22:52 |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |