Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
1

Зависает программа при вычислении

20.04.2017, 22:20. Показов 788. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Программа написана на Dev c++.
При компиляции происходит зависание программы.
Никак не могу понять в чем дело.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <conio.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    long double x,S,p,eps; 
    int k,n;
    cout<<"vvdeite x= ";
    cin>>x;
    cout<<"vvedite pogreshnost' eps= ";
    cin>>eps;
    S=0;
    n=0;
    p=x;
    for (k=0;fabs(p)>eps;k++)
        {
            S=S+p;
            p=p*((-1)/(k*(k+1))*(x/2));
            n++;
        }
    cout<<"S= "<< S <<endl;
    cout<<"n= "<< n <<endl;
    getch();
}

Задача по которой была сделана программа:
Миниатюры
Зависает программа при вычислении  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2017, 22:20
Ответы с готовыми решениями:

Программа зависает при вводе значения b
Помогите пожалуйста. Когда я в прогарамме ввожу значения b, программа &quot;застряла&quot;. #include...

Программа зависает при загрузке файла
Добрый день. Недавно я написал свою первую программу. Возникла проблема, с которой я не могу...

При старте цикла, программа зависает
Если ввести любой цикл (пример указан ниже), у меня зависает программа до его окончания. Как это...

Программа зависает при очищении памяти
Здраствуйте. Написал программу, вроде работает нормально, только при окончании зависает. Вот код: ...

8
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
20.04.2017, 22:38 2
Видимо потому что всегда выполняется
C++
1
fabs(p)>eps
и почему
C++
1
p = x
и где вычисляются k! и (k + 1)!
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
20.04.2017, 22:46 3
k должно стартовать с 1, иначе получим деление на ноль. Начальное значение p = 1.

P.S. Для выделения кода используйте теги CPP.

Добавлено через 2 минуты
Цитата Сообщение от мановар Посмотреть сообщение
и где вычисляются k! и (k + 1)!
Оно автоматически получается при делении на k*(k+1). Таким же образом получается xk.
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
20.04.2017, 22:52 4
likehood, 0! = 1 или нет. Читал читал по этому поводу, но единого мнения нет.
https://ru.wikipedia.org/wiki/Факториал
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
20.04.2017, 23:01 5
Цитата Сообщение от мановар Посмотреть сообщение
0! = 1 или нет. Читал читал по этому поводу, но единого мнения нет.
Вроде всегда был единицей. Так удобнее.
0
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 9
20.04.2017, 23:03  [ТС] 6
Всем спасибо, была ошибка в вычислениях.
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
20.04.2017, 23:07 7
Цитата Сообщение от likehood Посмотреть сообщение
Вроде всегда был единицей.
Так где деление на 0 получаем?
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
20.04.2017, 23:09 8
Цитата Сообщение от мановар Посмотреть сообщение
Так где деление на 0 получаем?
В программе автора, на первом проходе цикла.
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
20.04.2017, 23:16 9
Вот я по этому и спросил, потому что одно с другим не клеется.
Видишь ТС молодец, сам разобрался, по больше бы таких.
0
20.04.2017, 23:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2017, 23:16
Помогаю со студенческими работами здесь

При передаче ссылки на указатель программа зависает
Почему это не работает (точнее работает но зависает т.к. в set_val_to23() ссылка на указатель val...

Программа зависает при выводе однонаправленного списка
создал однонаправленный список. все компилится, но при попытке вывода - прога зависает уже горит,...

Ошибка при вычислении выражения
float a, b, c, x, res; printf(&quot;Input x - &quot;); scanf_s(&quot;%f&quot;, &amp;x); b = x*x*x; if ((x &gt; 0...

Ошибка при вычислении выражения
Доброго времени суток! Написал небольшую программу для вычисления мощности. Вроде все правильно....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru