Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 23:13   #1
myrka
 
Регистрация: 24.02.2011
Сообщений: 6
По умолчанию проверьте правильна ли решена задача

проверьте правильна ли решена задача, пожалуйста помогите
Значение аргумента х изменяется от а до b с шагом h. Для
каждого х найдите значение функции Y(x), суммы S(x) и
|Y(x) - S(x) | и выведите в виде таблицы. Значения а, b, h введи-
те с клавиатуры произвольно. Вычисление Y(x) и S(x) реализуйте
в виде функций.
В основной программе организуйте ввод исходных данных,
обращение к функциям и вывод результатов.
Решение:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <math.h>


void column_of_table(void); //прототип функции
long double y_x(long double&); //прототип функции с передачей аргумента по ссылке
long double s_x(long double,int); //прототип функции
long double fact (long double);
int main(void)
{
clrscr();

double a,b,h; //объявление переменных
int n;
cout<<endl;
cout <<" Введите данные: \n ";
cout <<" Введите левую границу диапазона a: ";
cin>> a;
cout <<" Введите правую границу диапазона b: ";
cin>> b;
if (a> b)
{
cout <<" Некорректные данные ";
getch();
return 0;
}
cout <<" Введите шаг h ";
cin>> h;
if (h> b-a)
{
cout <<" Некорректные данные ";
getch();
return 0;
}
n=(b-a)/h;
column_of_table();
long double x=a;
long 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)<<tem p_value1<<"|"<<setw(9)<<setprecisio n(4);
cout<<s_x(x,n)<<"|"<<setw(11)<<setp recision(4)<<(temp_value1-temp_value2)<<"|\n";
x+=h;
i++;
}
cout<<"---------------------------------------------\n";
getch();
return 0;
}
// описание функции
void column_of_table(void)
{
cout<<"---------------------------------------------\n";
cout<<"| N | x | y(x) | s(x) ||y(x)-s(x)||\n";
cout<<"|---|-------|---------|---------|-----------|\n";
}
// описание функции
long double y_x(long double& x)
{
if (x==0)
return 0;
else
{long double y=2*(cos^2*x-1);
return y; } }

//описание функции
long double s_x(long double x,int n)
{

long double s=0;
for(int i=0;i<n+1;i++)
s+=pow(-1,n)*(pow(x,2*n)/(fact(2*n)));
return s;
}
long double fact(long double x)
{
long f=1;
if (x==0)
f=1;
else if (x>0)
f= f*fact(x-1);
return f;}
Вложения
Тип файла: doc Функция к заданию 5.doc (32.5 Кб, 9 просмотров)
myrka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверьте:Обратная задача много-формульных вычислений. Aidar9119 Microsoft Office Excel 0 02.02.2011 06:07
Задача на FOR, почти решена... просто проверить. Andrux Помощь студентам 5 29.12.2008 11:27
Задача на Repeat! все написано, проверьте... Andrux Помощь студентам 1 28.12.2008 10:38
Нужно объснить как решена задача diesel-dbx Паскаль, Turbo Pascal, PascalABC.NET 3 04.08.2008 17:53