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

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

Войти
Регистрация
Восстановить пароль
 
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
#1

подставить функцию - C++

04.02.2013, 17:43. Просмотров 388. Ответов 4
Метки нет (Все метки)

Задание:
Значение аргумента х изменяется от а до b с шагом h. Для каждого х найдите значение функции Y(x), суммы S(x) и |Y(x−)S(x)| и выведите в виде таблицы. Значения а, b, h введите с клавиатуры произвольно. Вычисление Y(x) и S(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
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
#include<iomanip>
#include<math.h>
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
//---------------------------------------------------------------------------
 
 
void column_of_table(void); //прототип функции
double y_x(double); //прототип функции
double s_x(double,int); //прототип функции
int main(void)
{
   double a,b,h; //объявление переменных
   int n;
   cout <<"Enter initial data \n";
   cout <<"The left border of a range a: ";
   cin>> a; //считывание значения a, введенного с клавиатуры
   cout <<"The right border of a range b: ";
   cin>> b; //считывание значения b, введенного с клавиатуры
   //проверка корректности введенных значений
   if (a>b)
   {
       cout<<"Enter correctly borders of a range";
       getch();
       return 0;
   }
   cout<<"The step h: ";
   cin>>h;
   if(h>b-a)
   {
       cout<<"The step cannot be more values of a range";
       getch();
       return 0;
   }
   cout<<"Enter n: ";
   cin>>n;
   column_of_table(); //вызов функции
   double x=a;
   double temp_value1=0,temp_value2=0;
   int i=1;
   while(x<=b)
   {
        setprecision(6);
        temp_value1=y_x(x); //вызов функции
        temp_value2=s_x(x,n); //вызов функции
        cout<<"|"<<setw(3)<<i<<"|"<<setw(7)<<setprecision(4)<<x<<"|";
        cout<<setw(9)<<setprecision(4)<<temp_value1<<"|"<<setw(9)<<setprecision(4);
        cout<<s_x(x,n)<<"|"<<setw(11)<<setprecision(4)<<abs(temp_value1-temp_value2)<<"|\n";
        x+=h;
        i++;
   }
   cout<<"_____________________________________________\n";
   getch();
}
//описание функции
void column_of_table(void)
{
   cout<<"| N |   x   |   y(x)  |   s(x)   ||y(x)-s(x)||\n";
   cout<<"|___|_______|_________|__________|___________|\n";
}
//описание функции
double y_x(double x)
{
         if(x==0)
                 return 0;
         else
                 return sin(x);
}
//описание функции
double s_x(double x,int n)
{
         double s=0;
         for    (int i=0;i<n+1;i++)
                     s+=(pow(-1,i)*(pow (x,2*i+1))/(2*i+1));
        return s;
}
//---------------------------------------------------------------------------
Миниатюры
подставить функцию  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2013, 17:43     подставить функцию
Посмотрите здесь:

Подставить неизвестный класс в функцию - C++
Есть базовый класс Human, от него наследованы Mage, Paladin как передать заранее неизвестный класс в перегруженную функцию...

Подставить переменные в функцию вместо значений - C++
MessageBoxA(0, &quot;1&quot;, &quot;Ошибка&quot;, MB_OK); Как сделать так чтобы вместо &quot;1&quot; и &quot;Ошибка&quot; были переменные

FindFirstFileW. Как подставить значение переменной типа string в функцию? - C++
Здравствуйте, форумчане! Будьте добры и помогите понять один нюанс. Например есть у меня такие строки: ...

Как подставить в формулу числа в диапазоне от 0 до 0,1 с шагом 0,0001? - C++
Здравствуйте. Подскажите как написать простую задачу. Имеется формула double x=0; double y=0.0001//шаг. Всего 1000 ...

Как из своей программы подставить пароль в форму в браузере? - C++
Пишу манагер паролей. Есть вопрос по автозаполнению форм: все пароли будут храниться в БД, данные из БД будет читать моя софтина. Как из...

Что можно подставить в переменную int для сравнений с другими числами? - C++
Задание: Дана матрица размером nxm. Упорядочить ее столбцы по возрастанию их наименьших элементов. Нужно подставить что-нибудь в...

Есть объект типа T, но если вместо него подставить вызов функции, возвращающей T, код не компилится, почему? - C++
Есть объект типа vector&lt;int&gt;, но если вместо него подставить вызов функции, возвращающей vector&lt;int&gt;, код не компилится (template мутит...

Как подставить символ "\" в strcspn ? - C++
Подскажите пожалуйста, имеется ли возможность передать символ '\' в strcspn чтобы не ругался ? var.substr(0,...

Написать функцию, которая, в зависимости от выбора пользователя вызывает соответствующую функцию - C++
Помогите, что то я не могу понять задачи, даже не знаю с чего начать)))) 5. Написать функцию, которая, в зависимости от выбора...

рекурсия.написать функцию,принимающую указ. на другую функцию, осуществл. некую операцию с переданным х - C++
рекурсия.написать функцию,принимающую указ. на другую функцию, осуществл. некую операцию с переданным х. прога должна иметь вид...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
04.02.2013, 18:01     подставить функцию #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
#include<iomanip>
#include<math.h>
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
//---------------------------------------------------------------------------
 
 
void column_of_table(void); //прототип функции
double y_x(double); //прототип функции
double s_x(double,int); //прототип функции
int main(void)
{
   double a,b,h; //объявление переменных
   int n;
   cout <<"Enter initial data \n";
   cout <<"The left border of a range a: ";
   cin>> a; //считывание значения a, введенного с клавиатуры
   cout <<"The right border of a range b: ";
   cin>> b; //считывание значения b, введенного с клавиатуры
   //проверка корректности введенных значений
   if (a>b)
   {
       cout<<"Enter correctly borders of a range";
       getch();
       return 0;
   }
   cout<<"The step h: ";
   cin>>h;
   if(h>b-a)
   {
       cout<<"The step cannot be more values of a range";
       getch();
       return 0;
   }
   cout<<"Enter n: ";
   cin>>n;
   column_of_table(); //вызов функции
   double x=a;
   double temp_value1=0,temp_value2=0;
   int i=1;
   while(x<=b)
   {
        setprecision(6);
        temp_value1=y_x(x); //вызов функции
        temp_value2=s_x(x,n); //вызов функции
        cout<<"|"<<setw(3)<<i<<"|"<<setw(7)<<setprecision(4)<<x<<"|";
        cout<<setw(9)<<setprecision(4)<<temp_value1<<"|"<<setw(9)<<setprecision(4);
        cout<<s_x(x,n)<<"|"<<setw(11)<<setprecision(4)<<abs(temp_value1-temp_value2)<<"|\n";
        x+=h;
        i++;
   }
   cout<<"_____________________________________________\n";
   getch();
}
//описание функции
void column_of_table(void)
{
   cout<<"| N |   x   |   y(x)  |   s(x)   ||y(x)-s(x)||\n";
   cout<<"|___|_______|_________|__________|___________|\n";
}
//описание функции
double y_x(double x)
{
         if(x==0)
                 return 0;
         else
                 return 2(cos(x)*cos(x)-1);
}
//описание функции
double s_x(double x,int n)
{
         double s=0;
         for    (int i=0;i<n+1;i++)
                     s+=(pow(-1,i)*(pow (2x,2*i))/(2*i+1));
        return s;
}
//---------------------------------------------------------------------------
Вроде так, если я все верно разглядел с мобильника))
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
04.02.2013, 18:02     подставить функцию #3
как-то вы не верно разглядели с мобильника
наверное всё же так )))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//описание функции
double y_x(double x)
{
                 return 2*(pow(cos(x),2)-1);
}
 
int fact(int n)
{
  if (n <= 0) return 1;
  return n * fact(n-1);
}
 
//описание функции
double s_x(double x,int n)
{
         double s=0;
         for    (int i=0;i<n+1;i++)
                     s+=(pow(-1,i)*(pow (2*x,2*i))/fact(2*i));
        return s;
}
Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
04.02.2013, 18:13     подставить функцию #4
Ну, да... факториал не заметить-это мощно)))

Добавлено через 1 минуту
VitaliyH, В общем вот так полностью будет выглядеть
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
#include<iomanip>
#include<math.h>
#include<iostream>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
//---------------------------------------------------------------------------
 
 
void column_of_table(void); //прототип функции
double y_x(double); //прототип функции
double s_x(double,int); //прототип функции
int main(void)
{
   double a,b,h; //объявление переменных
   int n;
   cout <<"Enter initial data \n";
   cout <<"The left border of a range a: ";
   cin>> a; //считывание значения a, введенного с клавиатуры
   cout <<"The right border of a range b: ";
   cin>> b; //считывание значения b, введенного с клавиатуры
   //проверка корректности введенных значений
   if (a>b)
   {
       cout<<"Enter correctly borders of a range";
       getch();
       return 0;
   }
   cout<<"The step h: ";
   cin>>h;
   if(h>b-a)
   {
       cout<<"The step cannot be more values of a range";
       getch();
       return 0;
   }
   cout<<"Enter n: ";
   cin>>n;
   column_of_table(); //вызов функции
   double x=a;
   double temp_value1=0,temp_value2=0;
   int i=1;
   while(x<=b)
   {
        setprecision(6);
        temp_value1=y_x(x); //вызов функции
        temp_value2=s_x(x,n); //вызов функции
        cout<<"|"<<setw(3)<<i<<"|"<<setw(7)<<setprecision(4)<<x<<"|";
        cout<<setw(9)<<setprecision(4)<<temp_value1<<"|"<<setw(9)<<setprecision(4);
        cout<<s_x(x,n)<<"|"<<setw(11)<<setprecision(4)<<abs(temp_value1-temp_value2)<<"|\n";
        x+=h;
        i++;
   }
   cout<<"_____________________________________________\n";
   getch();
}
//описание функции
void column_of_table(void)
{
   cout<<"| N |   x   |   y(x)  |   s(x)   ||y(x)-s(x)||\n";
   cout<<"|___|_______|_________|__________|___________|\n";
}
//описание функции
double y_x(double x)
{
                 return 2*(pow(cos(x),2)-1);
}
 
int fact(int n)
{
  if (n <= 0) return 1;
  return n * fact(n-1);
}
 
//описание функции
double s_x(double x,int n)
{
         double s=0;
         for    (int i=0;i<n+1;i++)
                     s+=(pow(-1,i)*(pow (2*x,2*i))/fact(2*i));
        return s;
}
//---------------------------------------------------------------------------
VitaliyH
4 / 4 / 0
Регистрация: 05.09.2012
Сообщений: 41
04.02.2013, 18:20  [ТС]     подставить функцию #5
Спасибо
Yandex
Объявления
04.02.2013, 18:20     подставить функцию
Ответ Создать тему
Опции темы

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