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

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

Войти
Регистрация
Восстановить пароль
 
visoger
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 17
#1

Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? - C++

26.10.2015, 11:37. Просмотров 196. Ответов 9
Метки нет (Все метки)

ЗАДАЧА:
Вычислить значение суммы бесконечного ряда с заданной точностью (e=10-6): http://www.cyberforum.ru/cgi-bin/latex.cgi?f(x)=1+\frac{{x}^{2}}{2!}+\frac{{x}^{4}}{4!}+...+\frac{{x}^{2n}}{(2n)!}+... , и значение функции (для проверки) http://www.cyberforum.ru/cgi-bin/latex.cgi?chx=\frac{{e}^{x}+{e}^{-x}}{2} , учесть, что 0.1=<x=<1.

ТЕКСТ ПРОГРАММЫ:
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
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream>
 
int main (void)
{
    setlocale(LC_ALL, "rus");
    int n=0, chx;
    double x, a=1, s=1;
    printf("Ââåäèòå x:\n");
    scanf("%lf", &x);
    while(fabs(a)>1e-6)
    {
        n++;
        a*=(x*x)/(2*n);
        s+=a;
    }
    cosh(x)=((pow(exp,x))+(pow(exp,(-x))))/2;
    printf("chx=%lf\n", chx)
    printf("S=%lf\n", s);
    system("pause");
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 11:37     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность?
Посмотрите здесь:

Не могли бы вы проверить правильность построения блок схемы? - C++
делаю блок схему, но не знаю правильно или нет, будьте добры подскажите те кто разбирается в этом? #include &lt;iostream&gt; using...

Проверьте пожалуйста правильность решения задачи и не могу понять тернарный оператор - C++
Задача из книги Васильева А.Н. &quot;Самоучитель С++&quot; Глава 1-я. Задача №4. Не могу понять как работает тернарный оператор или не заморачиваться...

не могли бы вы проверить задачу про двоичные файлы? - C++
Всем здравствуйте. наверно немного странная просьба: проверьте на правильность задачку &quot;вывод числа из двоичного файла&quot;, просто сомневаюсь...

Написал тетрис. Прокомментируйте код пожалуйста ) - C++
Программа полностью готова. Все как в тетрисе работает. Немного мигает, не знаю как вывод массива сделать по другому. Прокомментируйте код...

решении задачи (по Липпману) - C++
Занимаюсь по книги Стенли Липпмана &quot;C++ Primer&quot; (Язык программирования С++. Вводный курс). Возникла проблема с решением задачи.Текст - ...

Я написал программу шифрования и дешифрования,но много ошибок, исправьте пожалуйста - C++
Вот код который я написал, но там много ошибок, помогите исправить, или посоветуйте что нужно сделать/ #include &quot;stdafx.h&quot; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
26.10.2015, 11:44     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #2
Цитата Сообщение от visoger Посмотреть сообщение
C++
1
cosh(x)=((pow(exp,x))+(pow(exp,(-x))))/2;
Что вы здесь хотели сделать?
visoger
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 17
26.10.2015, 11:51  [ТС]     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #3
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Что вы здесь хотели сделать?
написал эту формулу для проверки: http://www.cyberforum.ru/cgi-bin/latex.cgi?chx=\frac{{e}^{x}+{e}^{-x}}{2}
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
26.10.2015, 11:58     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #4
visoger, ну, во-первых, cosh - библиотечная функция; во-вторых, exp - тоже библиотечная функция; в-третьих, чтобы узнать значение http://www.cyberforum.ru/cgi-bin/latex.cgi?{e}^{x}, достаточно написать exp(x); в -четвертых, так не сравнивают. можно написать так
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
#include <iostream>
#include <cmath>
 
double cos_hyp(double x)
{
    double temp = 1, den = 2, res = 0;
    int i = 2;
    while (std::abs(temp) > 1e-6)
    {
        res += temp;
        den = (i - 1) * i;
        temp *= x * x / den;
        i += 2;
    }
    return res;
}
 
double ch( double x)
{
    return (exp(x) + exp(-x)) / 2;
}
 
int main()
{
    double x;
    do std::cin >> x; while (x < 0.1 || x > 1.0);
    std::cout << cos_hyp(x) << '\t' << ch(x) << std::endl;
}
visoger
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 17
26.10.2015, 12:05  [ТС]     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #5
Спасибо Вам конечно, но такой такой код (его форма) очень сложен для меня еще
nuHrBuH
249 / 249 / 99
Регистрация: 04.03.2011
Сообщений: 590
26.10.2015, 12:05     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #6
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
33
34
35
36
37
38
39
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream>
 
using namespace std;
 
long int factorial(int x){
    long int s = 1;
    for (int i = 2; i <= x; i++)
        s *= i;
    return s;
}
 
int main (void)
{
    setlocale(LC_ALL, "rus");
    int 
        n = 0,
        k = 0;
    double 
        x, s = 1,
        a = 1;
    cout << "Enter x:  \t\t";
    cin >> x;
    while(fabs(a) > 1e-6)
    {
        n += 2;
        a = pow(x, n)/factorial(n);
        s += a;
        k ++;
    }
    printf("Result:  \t\t%0.6f\n", s);
    printf("Number of iterations:  \t%d\n", k);
    printf("cosh(%0.2f) = \t\t%0.6f\n", x, cosh(x));
 
    system("pause");
    return 0;
}
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
26.10.2015, 12:09     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #7
nuHrBuH, зачем каждый раз считать факториал заново? Можно ведь использовать предыдущее значение и умножать его на недостающие числа.
nuHrBuH
249 / 249 / 99
Регистрация: 04.03.2011
Сообщений: 590
26.10.2015, 12:10     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #8
Согласен =)
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
26.10.2015, 12:20     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
visoger, только не забывайте, что при использовании setlocale при вводе и выводе разделителем дробной и целой частей является не точка, а запятая
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
#include <iostream>
#include <cmath>
 
using namespace std; // эту строку можно убрать, но тогда вместо abs нужно будет использовать fabs
 
int main()
{
    setlocale(LC_ALL, "rus");
    double x, temp = 1, den, cos_hyp = 0, ch;
    int i = 2;
    printf("Введите x: ");
    scanf("%lf", &x);
    ch = (exp(x) + exp(-x)) / 2;
    while (abs(temp) > 1e-6)
    {
        cos_hyp += temp;
        den = (i - 1) * i;
        temp *= x * x / den;
        i += 2;
    }
    printf("%f\t%f\n", cos_hyp, ch);
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2015, 12:37     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность?
Еще ссылки по теме:

найти ошибку в решении задачи! - C++
Условие: Дано натуральное число n. Вычислить: 1 + 2 + 4 + 8 + … + 2n. не могу понять,как в цикле фо задать так,что бы в формуле...

О решении задачи и о разнице между . + 1 и .++ - C++
Решаю я задачу: Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих...

ACCESS_VIOLATION при решении задачи - C++
Здравствуйте!Тут решал одну простую задачу, но на dl.gsu.by она не проходит последний тест:не пройден 10-й тест. Решение вызвало ошибку...

Проверить код на правильность - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_CTYPE,&quot;Russian&quot;); cout &lt;&lt; &quot;\n Введите...


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

Или воспользуйтесь поиском по форуму:
visoger
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 17
26.10.2015, 12:37  [ТС]     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность? #10
Спасибо Вам!
Yandex
Объявления
26.10.2015, 12:37     Посодействуйте в решении задачи пожалуйста! Вроде бы написал, но не могли бы вы проверить правильность?
Ответ Создать тему
Опции темы

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