Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Borland C++] Функция "Шапочка" |
Автор: ausar 10.8.2007, 09:15 |
Чтож дальше больше. Моя сеструха меня окончательно убила Ей на лето в универе задали на Borland C вот такое. А я вообще не понимаю о чем речь идет. Написать функцию “шапочка” f(x), зависящую от параметров a и b: если |x| >a то f(x)=0 иначе f(x)=b*exp(-a2/(a2-|x|2)). В качестве параметров передать a,b,x. Что это за шапочка такая да еще и от параметров зависящая :( Как этоу метафору в код то превратить Подсобите люди добрые а? |
Автор: VictorTsaregorodtsev 10.8.2007, 09:42 | ||
Детский сад, чесслово... Программируете эти условия/формулу и всё. Тело функции - 4 строки. Аргументы функции (a,b,x) - числа с плавающей точкой.
Двойки из формулы f(x)=b*exp(-a2/(a2-|x|2)) сокращаются, поэтому в коде я их и не писал. "Шапочка" - это просто субъективное название для графика функции f(x) от x при некоторых заданных a,b и ничего здесь к процессу программирования не добавляет |
Автор: Guedda 10.8.2007, 09:54 | ||
На будущее, читайте правила. Тема должна выглядеть так, как сейчас. |
Автор: volvo877 10.8.2007, 10:36 | ||
Вообще-то это квадраты, если что... |
Автор: VictorTsaregorodtsev 11.8.2007, 09:28 |
тогда н@х модуль у икса, если возводится в квадрат? Ладно, автор темы разберется |
Автор: ausar 21.8.2007, 10:08 | ||
Должно получиться чтото в этом роде на сколько я понял А через что выводится результат, через какую переменную.
|
Автор: JackYF 21.8.2007, 19:37 | ||
ausar, построение программы не верно. Ты в функцию должен передавать параметры, а не из консоли их считывать. Считывать ты их должен раньше. Допустим, так где-то:
|
Автор: ausar 22.8.2007, 03:04 |
Declaration was expected? |
Автор: JackYF 22.8.2007, 14:16 | ||
Мне за телепатию не платят, между прочим. Это же была наводка... Так, вот тебе рабочий код:
|
Автор: ausar 23.8.2007, 01:39 |
Прошу прощения. Впредь буду деталней излагать мысли И попутно вопрос: Почему то если вводить мелкие значения типа 3.1 ,4.2 ,2.5 ответ получается такой 0.00000. С чем это может быть связано? Не хватает точности? Мне кажется не правильно написана формула вычисления вместо f(x)=b*exp(-a2/(a2-|x|2)) должно быть так f(x)=b*exp(-a^2/(a^2-|x|^2)) А как возвести в степени? |
Автор: JackYF 23.8.2007, 02:04 | ||
в данном случае - умножать само на себя:
|