![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.09.2012
Сообщений: 7
|
![]()
Писал прогу по следующим алгоритмам, но результаты совершенно разные, хотя решают одну и туже задачу. На С++ пишу 1-й раз, подскажите, где допускаю ошибки.
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]() Код:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 16.09.2012 в 21:33. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Если уж на то пошло, то сигнум лучше так записывать:
Код:
Также goto по-хорошему бы заменить на цикл while. А для чисел с плавающей точкой надо использовать не abs, а fabs. Навскидку несоответствий не нашел.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
А проблема у Вас, скорее всего, как раз в модулях чисел: функция abs применяется только с целочисленными аргументами, то есть abs(-5.5634)=abs(5)=5;
Нужно менять: Код:
Код:
UPD. Ну вот, уже и ответили ![]()
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Приводить к float-у необязательно (даже не стоит):
Код:
Код:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#6 |
Регистрация: 16.09.2012
Сообщений: 7
|
![]()
cпасибо большое, про fabs не знал.
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
Если на то пошло,
Код:
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 16.09.2012
Сообщений: 7
|
![]()
изменение abs на fabs ничего не поменяло, результаты все равно значительно отличаются. Мб до нужной точности сравнение не происходит? И еще в Turbo C++ и Visual Studio выдает разные результаты))
Последний раз редактировалось sinh; 16.09.2012 в 23:06. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Ищите багу. Подставьте получающиеся результаты в выражение x = phi(x), чтобы узнать, считает ли хотя бы одна правильно. Выводите на экран все промежуточные значения, чтобы проверить вручную хотя бы первые несколько итераций. Замените функцию на какую-нибудь попроще - например, на phi(x) = 2*x (ответ - x = 0). И так далее.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#10 |
Регистрация: 16.09.2012
Сообщений: 7
|
![]()
Тему можно закрывать.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти ошибку в коде,С++ ! | Aaaaaa111 | Помощь студентам | 1 | 16.02.2012 11:10 |
Помогите найти ошибку в коде ( С++ ) | nexUS1 | Помощь студентам | 1 | 29.12.2009 01:09 |
помогите найти ошибку в коде | xaero93 | Помощь студентам | 4 | 20.04.2009 16:05 |
Помогите найти ошибку в коде! | alex2008ean | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 27.12.2008 18:31 |