0 / 0 / 0
Регистрация: 09.03.2017
Сообщений: 11
1

Исследование функций

01.10.2018, 00:11. Показов 1653. Ответов 0

Провести исследование функций F1(x), F2(x), F1(x)-F2(x) на отрезке [-5;5] на минимальные, максимальные значения и нули. Выдавать по запросу с клавиатуры на экран либо минимальное значение и аргумент при котором оно достигается, либо максимальное значение при котором оно достигается либо ноль если он существует

F1(x)=(tg(0.11*x+0.2)-1/(x-15.2))(11.3+1)-30

F2(x)=(x-0.5)^2

F3(x)=F1(x)-F2(x)

Вот что у меня получилось (работает) но не знаю как добавить что бы показывало еще и аргумент и нули не показывает

#include <iostream>
#include <math.h>
#include <string.h>

using namespace std;
void show_array(double*,int);
double function1(double x) {return (tan(0.11+0.2)-1/(x-15.2))*(11.3*x+1)-30;}
double function2(double x) {return ((x-0.5)*(x-0.5));}
double function3(double x) {return ((tan(0.11+0.2)-1/(x-15.2))*(11.3*x+1)-30)-0.1*(((x-0.5)*(x-0.5)));}
double my_min(double*,int);
double my_max(double*,int);
void zero(double(*fun_1)(double),double a,double b, double dx);

int main()
{
double a=-5.,b=5.;
double dx=0.2;
double x=0.,y=1.;
int n=(b-a)/dx+1;
double(*fun_3)(double);
cout<<"Enter number of the function: ";
int n1;
cin>>n1;
if (n1==1)fun_3=function1;
if (n1==2)fun_3=function2;
if (n1==3)fun_3=function3;

double*A_massive=new double[n];
for (int i=0;i<n;i++)
A_massive[i]=fun_3(a+dx*i);
show_array(A_massive,n);
char*what=new char[20];
cout<<"What you want to find:"<<endl<<"A) Minimum value"<<endl<<"B) Maximum value"<<endl;
cout<<"Enter 'a' or 'b' ";
cin>>what;
if (strcmp(what, "a")==0)cout<<"Minimum is "<<my_min(A_massive,n)<<endl;
if (strcmp(what, "b")==0)cout<<"Maximum is "<<my_max(A_massive,n)<<endl;
zero(fun_3,x,y,dx);
double i_zero;
if (strcmp(what, "zero")==0)cout<<"zero is "<<i_zero<<endl;
return 0;
}
void show_array(double*A,int n)
{
for (int i=0;i<n;i++)
cout<<A[i]<<endl;
cout<<endl;
}
double my_min(double*A,int n)
{
double min=A[0];
for(int i=0;i<n;i++)
if(A[i]<min)min=A[i];
return min;

}
double my_max(double*A,int n)
{
double max=A[0];
for(int i=0;i<n;i++)
if(A[i]>max)max=A[i];
return max;
}

void zero(double(*fun_3)(double),double a,double b, double dx)
{double min=fabs(fun_3(a));
double i_zero;
for (double i=a;i<b;i+=0.1)
if(fabs(fun_3(i))<min){min=fabs(fun_3(i));i_zero=i ;}
if(min=0)
cout<<"Zero = "<<i_zero<<endl;
else cout<<"Zero not found"<<endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2018, 00:11
Ответы с готовыми решениями:

Полиморфизм и исследование виртуальных функций
Добавьте в состав класса виртуальную функцию просмотра текущего объекта print (), а в производный...

Использование свойства полиморфизма и исследование механизма виртуальных функций
Создайте класс Matr, определите в нем виртуальную функцию-член matrica(int n), которая определяет...

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого...

Передача значений функций в главную программу, вызов функций
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2018, 00:11
Помогаю со студенческими работами здесь

Вызов функций внутри других функций
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Объявление функций внутри других функций
Иногда вижу в некоторых исходниках на c объявление функций, внутри main. Например: main(){ ...

Полное исследование функций. Исследование функций на непрерывность.
1. Виды области определения некоторых возможных типов функций. 2. В особых точках, найденных в...

Исследование функций
Ребята помогите пожалуйста!!!!! &quot;Вычислить количество точек на графике функции, попадающих в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru