![]() |
|
Модераторы: bsa |
![]()
|
|
| prowoke |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.11.2010 Репутация: нет Всего: нет |
Здравствуйте. Мне нужна помощь по лабораторной работе. Разложение синус через ряд тейлора на C. Саму лабу я сделал. Я не могу понять как мне сделать проверку, чтобы входные данные были только положительные и отрицательные числа. В справочнике вроде функция isdigit() это делает. Но она как то по хитрому делает и только с типом данных char. В общем никак не могу допереть как мне это реализовать. Помогите пожалуйста. Вот сам код лабы.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
prowoke, isdigit возвращает не ноль (читай true), когда проверяемый символ является цифрой. Это не твой случай.
Вообще-то числа в переменной вещественного типа бывают 5-х типов: "нечисло" (NaN - not a number), "бесконечность" (+inf/-inf), 0, отрицательное и положительное. Ты хочешь исключить три первых? То это делается просто: if ((x < 0) || (x > 0)) {} |
|||
|
||||
| prowoke |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.11.2010 Репутация: нет Всего: нет |
Ну я хочу исключить первые 2. Синус 0 тоже существует.
Если я делает так как вы посоветовали, то он почему то буквы тоже считает и выводит результат, как будто бы введён 0. Вот как я код сдеал.
|
|||
|
||||
| Леопольд |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 3 Всего: 13 |
-------------------- вопросов больше чем ответов |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
prowoke, вместо 0 нужно e и -е ..
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
mes, думаю, нужно if (abs(x) < e)... Имхо, так более математически. Кстати, в твоем случае нужно еще и || менять на &&
|
|||
|
||||
| prowoke |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.11.2010 Репутация: нет Всего: нет |
В общем сделал таким вот образом:
Только теперь у меня пару вопросов. Справочником, которым я пользовался в интеренте, он старый и не особо хороший и там я не нашёл что такое "e" и вообще там мало чего. А книг я по C никаких не читал, поэтому знания по этому языку у меня кусочные, а точнее никаких. Так вот расскажите мне вкратце что именно то я сделал? Почему проверка на "и" а не на "или". И что за е? Просто что то меня заинтересовал C, может быть для себя им увлекусь, а то после PHP , он кажется таким умным и для "программистов" |
|||
|
||||
| toxx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
так это у тебя наверно нужно спросить?) ты лабу делал вроде бы?)
Наверно потому, что ты проверяешь на диапазон значений?Если будет или это не будет область на прямой. |
||||
|
|||||
| prowoke |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 20.11.2010 Репутация: нет Всего: нет |
Ну да. Я чёт про какие то константы думал. А e это точность. Я понял всё, что я сделал. |
||||||
|
|||||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
В VS есть функция _finite, как раз то, что нужно.
|
|||
|
||||
![]()
|
| Правила форума "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. |