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

Почему так? - C++

Восстановить пароль Регистрация
 
TheDanger227
 Аватар для TheDanger227
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 58
17.09.2013, 19:09     Почему так? #1
Почему значение psumma равняется нулю?
C++
1
2
3
4
5
6
7
8
9
10
11
12
if (e>0)
    {   
        int k = 0;
        double psumma = -1;
        cout<<"k = "<<k<<"\t"<<""<<psumma<<"\n";
    while (abs(psumma)>e && k<= INT_MAX && (DBL_MAX - summa -psumma)>0)
        { 
            k++;
            psumma*=pow(x,4)*(1/((2*k+1)*(2*k+2)));
            cout<<"k = "<<k<<"\t"<<psumma<<"\n";
            summa+=psumma;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2013, 19:09     Почему так?
Посмотрите здесь:

Почему так работает, а так нет? C++
Объясните почему так C++
C++ Подскажите почему так?
потоки почему так происходит ? C++
C++ Объясните почему так
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
17.09.2013, 19:13     Почему так? #2
C++
1
(1/((2*k+1)*(2*k+2)))
как Вы думаете, какое значение получится в этой скобке, если k = 5 ?
TheDanger227
 Аватар для TheDanger227
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 58
17.09.2013, 19:15  [ТС]     Почему так? #3
1/132?
Все норм.
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
17.09.2013, 19:22     Почему так? #4
Croessmah, 1/132
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
17.09.2013, 19:24     Почему так? #5
Цитата Сообщение от TheDanger227 Посмотреть сообщение
1/132?
Все норм.
Ну и сколько это будет?
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
17.09.2013, 19:26     Почему так? #6
Croessmah, окккк)))) понял
TheDanger227
 Аватар для TheDanger227
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 58
17.09.2013, 19:27  [ТС]     Почему так? #7
Я там ошибся чуток psumma*=(pow(x,4)/81)*(1/((2*k+1)*(2*k+2)));
Будет конечно не очень хорошо 0.0075757575757575757575757575757575757575757575757575
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
17.09.2013, 19:28     Почему так? #8
Цитата Сообщение от TheDanger227 Посмотреть сообщение
Будет конечно не очень хорошо 0.0075757575757575757575757575757575757575757575757575
Да ладно?
Целочисленное делите на целочисленное, так что результат 1/132 будет равен нулю!
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
17.09.2013, 19:28     Почему так? #9
TheDanger227, в с++ 1/132 равна нулю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2013, 19:32     Почему так?
Еще ссылки по теме:

C++ Почему так?
Не могу разобраться почему так C++
C++ While и for, почему так?

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

Или воспользуйтесь поиском по форуму:
TheDanger227
 Аватар для TheDanger227
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 58
17.09.2013, 19:32  [ТС]     Почему так? #10
Спасибо ребят. Первые шаги
Исправил на
C++
1
psumma*=pow(x,4)/(81*(2*k+1)*(2*k+2))
заработало
Yandex
Объявления
17.09.2013, 19:32     Почему так?
Ответ Создать тему
Опции темы

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