Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
#1

Число e = 2? :D - C++

27.12.2011, 23:49. Просмотров 420. Ответов 4
Метки нет (Все метки)

Где-то спряталась проклятая логическая ошибка, из-за которой программа упрямо говорит, что е = 2.
Гляньте, пожалуйста, незамыленным взглядом, чо где:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
     int i = 1;
     double e = 1.0, f1, f2 = 1.0;
     
     for(;;)
     {
         e += 1 / factorial( i );
         i++;
         
         f1 = f2;
         f2 = e;
         
         cout << i - 1 << setw( 15 ) << e << setw( 20 ) << windowsStandart() 
              << setw( 20 ) << sigma( e ) << setw( 9 ) << "|" <<  endl;
         
         if( abs( ( f2 - f1 ) ) < eps )
             break;
     }
Функция факториала точно правильная.
Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2011, 23:49     Число e = 2? :D
Посмотрите здесь:

Программа задумывает число от 1 до 10, и предлагает пользователю отгадать число за 5 попыток C++
Задача число и число записанное в обратном направлении сумма целого числа C++
C++ Методом обхода в глубину определить число компонент связности и цикломатическое число графа
Программа, которая вводит число из пяти цифр, разделяет число на отдельные цифры C++
Вводится число от 1 до 15. Вывести данное число, записанное римскими цифрами C++
C++ Известны данные о стоимости каждого из 20 наименований товаров: число рублей и число копеек
C++ Число состоит из цифр от 0 до 4; получить число, в котором каждая цифра увеличена вдвое
Напечатать таблицу умножения на заданное число (число вводится с клавиатуры) C++
C++ Подсчитайте число и сумму положительных, число и произдведение отрицательных элементов заданного массива
C++ Циклически сдвигать заданное число вправо пока не найдется большее число (массивы)
Функция определяющая что общее число книг есть шестизначное число C++
Вводится число от 1 до 15. Вывести данное число, записанное в двоичной системе счисления (1, 10, 11, 100, C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
 Аватар для Байт
15074 / 9476 / 1390
Регистрация: 24.12.2010
Сообщений: 17,546
27.12.2011, 23:59     Число e = 2? :D #2
Цитата Сообщение от vortexx1 Посмотреть сообщение
e += 1 / factorial( i );
C
1
e += 1. / factorial( i );
Надо ж так! Из-за какой-то ерундовой точки столько хлопот!
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
28.12.2011, 00:02  [ТС]     Число e = 2? :D #3
Спасибо, сам бы никогда не догадался )
Байт
Эксперт C
 Аватар для Байт
15074 / 9476 / 1390
Регистрация: 24.12.2010
Сообщений: 17,546
28.12.2011, 00:05     Число e = 2? :D #4
Цитата Сообщение от vortexx1 Посмотреть сообщение
Функция факториала точно правильная.
Кстати, ее тоже не грех показать. Если она возвращает double, то дело не в точке. А если int - то она родимая!
Пример: cout << 1/2 напечатает 0

Добавлено через 2 минуты
Цитата Сообщение от vortexx1 Посмотреть сообщение
Спасибо, сам бы никогда не догадался )
Не ты первый, и к сожалению, не последний. Но пока на эти грабли не наступишь, шишка не вырастет
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
28.12.2011, 00:06  [ТС]     Число e = 2? :D #5
Факториал возвращает int.
Всё заработало, спасибо большое
Yandex
Объявления
28.12.2011, 00:06     Число e = 2? :D
Ответ Создать тему
Опции темы

Текущее время: 12:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru