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

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

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

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

27.12.2011, 23:49. Просмотров 425. Ответов 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
Посмотрите здесь:
Дано 2-ух-значное число. Сделать так, чтоб программа преобразовала это число в новое число кол-во десятков C++
Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр. C++
C++ Не получается исправить ошибку (Вводится диапазон, где 1-ое число-начало диапазона, 2-ое число приращени, 3-е число конец диапазона)
Введенное число делить на второе введенное число пока первое число не станет равным нулю C++
C (СИ) Сколько существует программ, которые число a преобразуют в число b,а затем это число преобразуют в число c
Дано двухзначное число. Найти число десятков, число единиц в нем, произведение его цифр Pascal
Pascal Данно вещественное число X. Найти в нем первое число десятка, число десятых долей.
Получить число, приписав к нему такое же число , а потом число в обратном порядке Turbo Pascal
Функция: простое число, совершенное число, число Фиббоначи, евклид, Факториал, степень. Pascal ABC
В первой строке записано арифметическое выражение в виде: <число> <операция> <число> = Число Turbo Pascal
PascalABC.NET Определить, сколько раз нужно число А разделить на число И што бы получить число С
Извлек число функцией ПСТР, Это число не отображается как число VBA

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

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

Добавлено через 2 минуты
Цитата Сообщение от 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
Ответ Создать тему
Опции темы

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