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

значения функции Y(x), суммы S(x) и |Y(x)–S(x)| - C++

Восстановить пароль Регистрация
 
severus
0 / 0 / 0
Регистрация: 29.09.2009
Сообщений: 23
20.10.2010, 00:25     значения функции Y(x), суммы S(x) и |Y(x)–S(x)| #1
помогите плиз... ошибка в том, что не совпадают S(x) и y(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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream>
#include <math.h>
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
using namespace std;
 
#pragma argsused
 
int main(int argc, char* argv[])
{
double a,b,n,h,cur,x,s,l,m,y;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"n="; cin>>n;
cout<<"h="; cin>>h;
for (x=a; x<=b; x+=h)
{
    s=l=m=1;
    for (int k=1; k<=n; k++)
    {
      l = l*(2*k);
      m = m*pow(x,y);
      cur = m/l;
      s+=cur;
    }
    y=exp(x)+exp(-x)/2;
    cout<<"If x="<<x<<endl;
    cout<<"S(x)="<<s<<endl;
    cout<<"Y(x)="<<y<<endl;
    cout<<"|S(x)-Y(x)|="<<fabs(s-y)<<"\n\n";
}
getchar(); getchar();
return 0;
}
//---------------------------------------------------------------------------



Прога №2
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
typedef double (*TFun)(double);
 
TForm1 *Form1;
double a,h,b,n;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
double s(double x)
{
    double sum,l,m,cur;
    sum=l=m=1;
    for (int k=1; k<=n; k++)
    {
      l = l*(2*k);
        m = m*pow(x,2*k);
         cur = m/l;
      sum+=cur;
    }
    return sum;
}
 
double y(double x)
{
        return (exp(x)+exp(-x)/2);
}
 
double f1(double x) { return s(x); }
 
double f2(double x) { return y(x); }
 
double f3(double x) { return (s(x)-y(x)); }
 
 
 
void Out(TFun fun, TMemo* mem)
{
for (double x=a; x<=b; x+=h)
        mem->Lines->Add("x="+FloatToStrF(x,ffFixed,8,2)+"  y="+FloatToStrF(fun(x),ffFixed,8,2));
mem->Lines->Add("------------------------");
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="0,1";
Edit2->Text="1"  ;
Edit3->Text="0,2";
Edit4->Text="10";
Memo1->Lines->Add("Результаты :");
Memo2->Lines->Add("Результаты :");
Memo3->Lines->Add("Результаты :");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        a = StrToFloat(Edit1->Text);
        b = StrToFloat(Edit2->Text);
        h = StrToFloat(Edit3->Text);
        n = StrToFloat(Edit4->Text);
        switch (RadioGroup1->ItemIndex)
        {
                case 0 : Out(f1,Memo1); break;
                case 1 : Out(f2,Memo2); break;
                case 2 : Out(f3,Memo3); break;
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo1->Lines->Clear();
Memo2->Lines->Clear();
Memo3->Lines->Clear();
Memo1->Lines->Add("Результаты :");
Memo2->Lines->Add("Результаты :");
Memo3->Lines->Add("Результаты :");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form1->Close();
}
 
 
//---------------------------------------------------------------------------
проги почти одинаковы....
зы.
1-ая в консоли
2-ая в окон-м


вот если, что задание

!Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания.
Миниатюры
значения функции Y(x), суммы S(x) и |Y(x)–S(x)|  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 00:25     значения функции Y(x), суммы S(x) и |Y(x)–S(x)|
Посмотрите здесь:

C++ Для каждого x, изменяющегося от a до b с шагом h, найдите значения функции Y(x), суммы S(x) и |Y(x)-S(x)|
C++ Не компилируется программа: значения функции Y(x), суммы S(x) и |Y(x)–S(x)|
Составить программу на языке Си для вычисления суммы S и функции y (x) для каждого значения параметра х, принадлежащего интервалу, с шагом h: C++
C++ Вычислить и вывести на экран значения функции в зависимости от входного значения Х
Для заданных значений аргумента Х вычислить значения суммы S и функции Y или Z. Вычисление S произвести с точностью E C++
C++ Вычислить суммы элементов нижних треугольных матриц. Суммы вычислять в функции
Вычислить значения функции F на интервале от начального значения до конечного значения C++
Найти значения функции Y(x), суммы и вывести в виде таблицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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