С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Чужой
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 18
1

Вычисление числа Пи разложением в ряд

12.12.2016, 09:57. Просмотров 577. Ответов 10

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
28
29
30
31
32
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
float eps;
int n=1;
int p=3;
int k=1;
int x=2;
const float Pi = 3.1415926;
float r;
float m;
 
int main()
{
    printf ("ÂâåäiГІГј Г§Г*Г*Г·ГҐГ*Г*Гї eps\n");
    scanf ("%f",&eps);
    r=4/(x*(x+1)*(x+2));
    p=p+r;
    m=Pi-p;
    while (m<eps)
    {
        x=x+2;
        r=4/(x*(x+1)*(x+2))*(pow(-1,k));
        k=k+1;
        n=n+1;
        p=p+r;
        m=Pi-p;
    }
    printf("%f",n);
    getch ();
}
Выводит всегда 0.0000,не могу найти ошибку
0
Миниатюры
Вычисление числа Пи разложением в ряд  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2016, 09:57
Ответы с готовыми решениями:

Вычисление функций разложением в ряд
Написать программу, вычисляющую сумму ряда для задаваемого значения x с...

Вычисление функции разложением в ряд Тейлора
Добрый день. Помогите пожалуйста разобраться с задачей: Вычислить и вывести...

Циклы: вычисление arctg разложением в ряд
Не пойму как решить проблему та и задание не совсем понятно, делал через for...

Вычисление значения функции разложением в ряд Тейлора
Помогите пожалуйста составить алгоритм и написать код программы, вычисляющей...

Вычисление значения функции разложением в ряд Тейлора
Добрый день, Помогите, пожалуйста, переписать код с С++ на С, Заранее...

10
andreyka93
128 / 128 / 157
Регистрация: 11.04.2015
Сообщений: 343
12.12.2016, 10:12 2
C
1
2
r=4/(x*(x+1)*(x+2));
r=4/(x*(x+1)*(x+2))*(pow(-1,k));
поменяйте на

C
1
2
3
r=4./(x*(x+1)*(x+2));
 
r=4./(x*(x+1)*(x+2))*(pow(-1,k));
0
Чужой
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 18
12.12.2016, 10:24  [ТС] 3
разницы нет
0
Songpool
53 / 42 / 31
Регистрация: 24.11.2016
Сообщений: 140
Завершенные тесты: 1
12.12.2016, 10:43 4
Чужой, посмотри на типы и что ты с ними делаешь или это так задумано?
Цитата Сообщение от Чужой Посмотреть сообщение
int p=3;
Цитата Сообщение от Чужой Посмотреть сообщение
float r;
Цитата Сообщение от Чужой Посмотреть сообщение
r=4/(x*(x+1)*(x+2));
Цитата Сообщение от Чужой Посмотреть сообщение
p=p+r;
0
Чужой
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 18
12.12.2016, 12:27  [ТС] 5
так и задумано, расписана формула решению, я ее расчитывал час, а почему не работает?
0
Songpool
53 / 42 / 31
Регистрация: 24.11.2016
Сообщений: 140
Завершенные тесты: 1
12.12.2016, 12:30 6
Чужой, задания нет, конечно, но если вам не важны значения после запятой, то зачем float. Просто, если r = 0.36, то p будет равно 3, при выполнении int p = 3; p = p + r;
0
Чужой
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 18
12.12.2016, 16:19  [ТС] 7
как задания нет? вон фотография снизу, мне значение после запятой не нужны, я считаю количество,флоат вводится для значений который будут с запятыми, а вывожу я лишь кол-во
0
sharpey
352 / 145 / 34
Регистрация: 21.09.2008
Сообщений: 483
12.12.2016, 18:50 8
Чужой, Вам Songpool правильно указал, что к переменной p, имеющей целочисленный тип, добавляется значение переменной r, имеющей вещественный тип, то что будет? А будет отбрасывание добавки, значение которой меньше единицы. И тип float лучше заменить на double. Обоснование здесь. Крайне рекомендую к прочтению и осмыслению.
0
Чужой
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 18
13.12.2016, 20:10  [ТС] 9
одинаково выводит нули
0
Человечность
0 / 0 / 1
Регистрация: 18.03.2015
Сообщений: 11
14.12.2016, 09:03 10
Попробуй последний printf заменить на этот. Возможно числа очень малые, и тебе показываются как нули...

C
1
printf ("\n%2.20f", n);
0
Чужой
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 18
26.04.2017, 11:47  [ТС] 11
тема закрыта
0
26.04.2017, 11:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2017, 11:47

Вычисление значения синуса угла разложением в ряд Тейлора
Здравствуйте. Задача: написать код, который вводит угол (градусы или радианы)...

Определить количество слагаемых, необходимых для достижения заданной точности ε при исчислении числа π по следующему разложением в ряд
Определить количество слагаемых, необходимых для достижения заданной точности ε...

Вычисление числа Пи ряд Лейбница
При введении для первого счетчика значения большего числа 2048, значения...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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