Проверить попадает ли введенное значение в интервал и яляется ли оно точкой максимума для заданной функции - C (СИ)
Формулировка задачи:
double x
х мы вводим (задача с точками)
Есть sin(x)/pow(x,2) - функция
есть промежуток от 0.2 до 2.5
0.2 --- 198 --- 2.5 = 200 точек
между 0.2 и 2.5 есть 198 точек и нам нужно вызначить попадает ли наш х в промежуток 0.2-2.5 если да то выяснить есть ли он максимальным .
извините за русский !
Решение задачи: «Проверить попадает ли введенное значение в интервал и яляется ли оно точкой максимума для заданной функции»
textual
Листинг программы
double x; cin>>x; if(x<0.2 || x>2.5) cout<<"Точка "<<x<<"Не попадает в интервал [0.2;2.5]"; else { double y[200]; for(int i=0;i<200;i++) { double delta=(2.5-0.2)/199.; double xi=0.2+i*delta; y[i]=sin(xi)/(xi*xi); // табулирование функции } int max=0; for(int i=1;i<200;i++) if(y[i]>y[max]) // поиск точки с максимальным значением max=i; for(int i=0;i<200;i++) { double delta=(2.5-0.2)/199. double xi=0.2+i*delta; if(x<=xi) // поиск точки, ближайшей к x { if( abs(i-max)<=1) cout<<"Точка "<<x<<" попала в максимум\n"; else cout<<"Точка "<<x<<" не попала в максимум\n"; break; } } }
Объяснение кода листинга программы
В этом коде:
- Объявляется переменная типа double x, в которую считывается значение с помощью функции cin.
- С помощью условного оператора if проверяется, попадает ли значение x в интервал [0.2; 2.5]. Если нет, то выводится сообщение об этом.
- В противном случае (когда x попадает в интервал), создается массив y типа double размером 200, в который табулируется функция sin(xi)/(xi*xi), где xi - это значения от 0.2 до 2.5 с шагом 0.001.
- Затем ищется точка с максимальным значением функции в массиве y с помощью цикла for и условного оператора if.
- После этого в цикле for проверяется, попадает ли значение x в интервал от текущей точки до следующей, и если да, и эта точка является точкой максимума, то выводится сообщение о том, что x попала в максимум.
- Если же в ходе проверки будет обнаружена точка, не являющаяся точкой максимума, то выводится сообщение о том, что x не попала в максимум.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д