Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Альма
12 / 9 / 1
Регистрация: 25.11.2010
Сообщений: 358
Записей в блоге: 1
#1

Циклические алгоритмы (найти ошибку) - C++

08.01.2012, 02:47. Просмотров 556. Ответов 2
Метки нет (Все метки)

Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n=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
33
34
35
36
#include <math.h>
#include <stdio.h>
#include <iostream.h>
 
int main()
{
   double a,b,h,S=0,Y,x,p=1,r;
   int i,n;
   
    cout<<"Vvedite a:";
    cin>>a;
    cout<<"Vvedite b:";
    cin>>b;
    cout<<"Vvedite h:";
    cin>>h;
    cout<<"Vvedite n:";
    cin>>n;
   
    for (x=a; x<=b; x+=h)
    {
        Y=(exp(x)+exp(-x))/2;
        {
            r=S=1;
            for(i=1; i<=n; i++)
            {
                       r=r*(x*i)/(2*i);
                       S+=r;
             }
 
        }
 
        printf("\n x= %8.2lf   S(x)= %8.5lf    Y(x)= %8.5lf    |Y(x)-S(x)|= %8.5lf", x,S,Y,fabs(Y-S));  
        i++;
    }
return 0;
}
Помогите правильно организовать S(x)
Подсказка: S(x) и Y(x) равны


Функция тут Измените программу с использованием циклических алгоритмов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2012, 02:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклические алгоритмы (найти ошибку) (C++):

С++ (циклические алгоритмы) - C++
Большая просьба помочь с кодом по задаче. Проста, но разбираться в этой теме времени не хватает, а результат срочно нужен. &quot;В...

Циклические алгоритмы - C++
Help!!! Задача предполагает применение оператора цикла while языка программирования С++. 1. Найти сумму ряда с точностью =0,001, общий...

Циклические алгоритмы. - C++
Циклические алгоритмы. 1. Известны оценки по информатике каждого из 20 учеников класса. Сколько учеников имеют по информатике оценку...

Циклические алгоритмы - C++
Ребята,надо на Borland C++ 5.02 сделать,вот задание:Дано натуральне число n. Обчислити P=(1+1/1)(1+1/2{)}^{2}...(1+1/n{)}^{n}

Циклические алгоритмы - C++
Как реализовать данную функцию для каждого x, изменяющегося от a до b с шагом h. Значения a, b, h и n вводятся с клавиатуры. Работу...

Циклические алгоритмы - C++
Здраствуйте, необходимо решить такую задачу:): Известны сведения о количестве осадков, выпавших за каждый день мая. Первого мая...

2
-=ЮрА=-
Заблокирован
Автор FAQ
08.01.2012, 12:01 #2
http://www.cyberforum.ru/cgi-bin/latex.cgi?S(x)=\sum_{k=0}^{n}\frac{{x}^{(2*k)}}{(2*k)!}
Формула S(X) означает что 10 раз (n = 10) мы должны производить суммирование от 0 до k (как бы два цикла - один определяет величину k (от 0 до n = 10) а в другом идёт накопление сумм http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{k} = \frac{{x}^{(2*k)}}{(2*k)!} от 0 до k.
Ни в одном из ваших топиков верной на мой взгляд реализации S(x) я не увидел
Накопление сумм лучше всего реализовать с помощью рекуррентного соотношения
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{k} = \frac{{x}^{(2*k)}}{(2*k)!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{k + 1} = \frac{{x}^{(2*(k + 1))}}{(2*(k + 1))!} = \frac{{x}^{(2*k + 2)}}{(2*k + 2)!} = \frac{{x}^{(2*k + 2)}}{(2*k)!*(2*k + 1)*(2*k + 2)}
Найдём отношение http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{k + 1}}{{a}_{k}}

http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{k + 1}}{{a}_{k}} = \frac{{x}^{(2*k + 2)}}{(2*k)!*(2*k + 1)*(2*k + 2)}*\frac{(2*k)!}{{x}^{(2*k)}} = \frac{{x}^{2}}{(2*k + 1)*(2*k + 2)}
0
-=ЮрА=-
Заблокирован
Автор FAQ
08.01.2012, 12:21 #3
Ниже С++ реализация
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
40
41
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cmath>
using namespace std;
 
double Y(double x)
{
    return 0.5*(exp(x)+exp(-x));
}
 
double S(double x, int n)
{
    double ak = 1, sum = 0;
    for(int k = 0; k <= n; k++)
    {
        sum += ak;
        ak  *= pow(x,2)/(1.0*(2*k + 1)*(2*k + 2));
    }
    return sum;
}
 
int main()
{
    double a, b, h, x, s;
    cout<<"Check value S(1.5) = 2.352 : "<<S(1.5,10)<<endl;
    cout<<"Enter a : ";cin>>a;
    cout<<"Enter b : ";cin>>b;
    cout<<"Enter h : ";cin>>h;
    cout<<"  x\t|  S(x)\t|  Y(x)\t| |S(x) - Y(x)|\n"; 
    for(x = a; x <= b; x += h)
    {
        s = S(x,10);
        cout<<setw(3)<<setprecision(2)<<x<<"\t|"
            <<setw(5)<<s<<"\t|"
            <<setw(5)<<Y(x)<<"\t|"
            <<setw(5)<<fabs(s - Y(x))<<endl;
    }
    system("pause");
    return 0;
}
1
Миниатюры
Циклические алгоритмы (найти ошибку)   Циклические алгоритмы (найти ошибку)  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2012, 12:21
Привет! Вот еще темы с ответами:

Циклические алгоритмы - C++
Дано число D (&gt; 0). Последовательность чисел AN определяется следую- щим образом: A1 = 2, AN = 2 + 1/AN–1, N = 2, 3,... Найти первый из ...

Циклические Алгоритмы - C++
Написать программу для вычисления значения функции y=cos(x), если значения аргумента x меняются в интервале от 0 до 5 с шагом 0,2. ...

Циклические алгоритмы - C++
Здравствуйте :) У меня вопросы по двум задачам, я знаю как начинать, но не знаю как завершить :( Если кто сможет, помогите, пожалуйста :)...

Циклические и итерационные алгоритмы - C++
Задачи эти по теме &quot;Циклические и интерационные алгоритмы&quot;: 1. Дано целое число N (N&gt;1), является числом Фибоначчи: N=Fk....


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

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

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