![]() |
|
Модераторы: bsa |
![]()
|
|
| Winterlord |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 5.10.2008 Репутация: нет Всего: нет |
Здравствуйте уважаемые программисты и просто читатели форума. Я столкнулся с проблемой при написании программы. Для начала задание: периодическая функция f(x) определена на всей числовой прямой и имеет период Т. График функции на отрезке [0,Т] приведён на рисунке ниже. По заданному значению х вычислить значение функции.
![]() На первый взгляд кажется, что всё просто. С клавиатуры мы вводим значения a,b,c,x. Я описал значения у при вводимых значениях для 1 положительного периода, но никак не могу догадаться как с помощью периода заставить программу определять введённый х и соотносить его с периодом. Так же возникает сложность с отрицательным значением х и с отрицательным периодом, с ними вообще хз как быть. Вообще мою программу можно расписать в несколько строчек, ибо функция симметрична. Программа считается простой, но я что-то замудрил и вконец запутался. Если у кого то будет время и желание помочь, подскажите плз что делать с периодом или как написать программу с помощью симметрии. Заранее очень благодарен. Вот мои наработки (не доконца написано про отрицательные х):
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: 2 Всего: 2 |
насчет симетрии
Зная период функции, я так понимаю это Т вводимое число (параметр) x имеет смысл его брать по модулю T т.е.
и вся задача сводится к вычислению значания функции по оси Х от 0 (нуля) до T -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Winterlord |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 5.10.2008 Репутация: нет Всего: нет |
Ну я и вычисляю от нуля до Т, но фунция симметрична ещё и внутри периода, тоесть от нуля до (с/2)+а
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: 2 Всего: 2 |
только нужно учесть что в точке (с/2)+а функция меняет свой знак
т.е.
тоесть учитывать остается только диапазон от 0 до (с/2)+a Это сообщение отредактировал(а) shara - 26.11.2008, 00:44 -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Winterlord |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 5.10.2008 Репутация: нет Всего: нет |
Не может функция от (с/2)+а менять знака, если на отрицательном х, то да, а на положительном нет
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: 2 Всего: 2 |
Проверь должно работать хоят на 100% правильность кода не претендую.. может чего не учел Добавлено через 47 секунд кстати надеюсь ты умеешь пользоваться функциями .... -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Winterlord |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 5.10.2008 Репутация: нет Всего: нет |
shara, Спасибо большое, что пытался помочь. Я уже сам разобрался. Описал значения функции в периоде, дальше сделал так, чтобы любой х соотносился с периодом и тоже самое с отрицательными значениями. Получилось очень грамостко, зато работает;)
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: 2 Всего: 2 |
вобщем то не зачто.
попробуй протестируй заодно и мою функцию, я ее не тестил на примерах но она должна работать правильно. Добавлено через 56 секунд думаю 8 строчек кода смотрется более привлекательно чем куча ифов -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |