MIN MAX значение в табулировании функции - C (СИ)
Формулировка задачи:
вот код, но его нужно дописать.
нужно что бы прога выводила ещё и мин и макс. значения функции (желательно, что бы в сравнении с предыдущими значениями находило мин. и макс. элементы), помогите дописать:
#include <stdio.h>
#include <math.h>
int main()
{
int n;
const float a=0, b=6;
double x=a,i,min,max;
printf("\nVvedite chislo N: ");
scanf("%i",&n);
printf("\nRezultat tabulirovaniya funkcii Y=cos2x/(1+x^2) na intervale [0;6]:");
while (printf("\nX=%7.5f\tY=%7.5f",x,cos(2*x)/(1+x*x)),(x+=(b-a)/n)<=b)
{
//zdes nujen cikl dla nahojdeniya Min i Max zna4eniya funkcii
}
return 0;
}Решение задачи: «MIN MAX значение в табулировании функции»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main()
{
int n;
const float a=0, b=6;
double x=a,i,min,max;
double val = cos(2*x)/(1+x*x);
min = val;
max = val
printf("\nVvedite chislo N: ");
scanf("%i",&n);
printf("\nRezultat tabulirovaniya funkcii Y=cos2x/(1+x^2) na intervale [0;6]:");
while (x<=b) {
printf("\nX=%7.5f\tY=%7.5f",x,val);
if (val < min) min = val;
if (val > max) max = val;
x+=(b-a)/n;
val = cos(2*x)/(1+x*x);
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
n- целое число, с помощью которого будет происходить табулирование функции.const float a=0иconst float b=6- пределы интервала, на котором будет происходить табулирование.double x=a- переменная, значение которой последовательно изменяется отaдоb.double val = cos(2*x)/(1+x*x)- значение функции при текущем значенииx.minиmax- переменные для хранения минимального и максимального значений функции на интервале.
- Вычисляется значение функции
valпри начальном значенииx. - Значение
valсравнивается с текущими значениямиminиmax. Если оно меньшеmin, то обновляетсяmin, если большеmax, то обновляетсяmax. - Пользователю предлагается ввести число
n. - В цикле, пока
xменьше или равноb, выводится текущее значениеxиval, а также обновляются значенияminиmax, еслиvalменьше или больше текущих значений. - Значение
xувеличивается на(b-a)/n, чтобы перейти к следующей точке на интервале. - Выполняется вычисление нового значения
valдля нового значенияx. - Цикл повторяется, пока все точки на интервале не будут пройдены.
- Программа завершается с возвратом
0, что означает успешное выполнение.