ОЧЕНЬ Разработать алгоритм и составить программу для табулирования функции на некотором промежутке [а; b] с шагом h и обработки значений функции согласно условия. Значение a, b, h ввести с стандартной функции ввода. Результаты вывести в виде таблицы: значение аргумента и соответствующее ему значение функции. Вычисление выражения оформить в виде функции.
y = lnk^4+lgm^-6
Условие: определить сумму, количество и произведение отрицательных значений функции.
Как переделать код чтобы он соотвествовал задиню?
#include
#include
#include
#include
#include
void vuraz( float Xk, float x, float h)
{
float y;
while (x < Xk)
{
if (x < -14)
y = x * fabs(x + 21);
else
if (x >= -14 && x < -5)
y = pow(x, 2) * log(fabs(pow(x, 2) + 48));
if (x >= -5 && x < 0)
y = (x / 3) + sqrt(pow(x, 2) + 16);
else
y = 2 + (x / 3);
printf("\n| %7.2f | %7.2f | ", x, y);
x += h;
}
}
int main()
{
setlocale(0, ""); int t; float X0, Xk, x, y, h;
printf("Введ1ть дан1:\n");
printf("t = "); scanf("%d", &t);
printf("\nВвед1ть Хпоч," "Хк1н, h ... ");
scanf("%f %f %f", &X0, &Xk, &h);
printf("\nІнтервал [%3.2f, %3.2f]\n Крок h = %3.2f\n", X0, Xk, h);
printf("\n\n| x \t | y \t |");
printf("\n|||");
vuraz(Xk,x,h);
printf("\n");
return 0;
}
begin
var a:=ArrRandom(15,-10,30); a.Println;
var b:=ArrRandom(25,-10,30); b.Println;
var ma:=a.Where(x->x.IsEven).Max;
var mb:=b.Where(x->x.IsEven).Max;
if ma>mb then
WritelnFormat('Максимум четных 1-го массива {0} больше 2-го {1}',ma,mb)
else
if mb>ma then
WritelnFormat('Максимум четных 1-го массива {0} меньше 2-го {1}',ma,mb)
else Writeln('Максимумы четных элементов в массивах равны ',ma)
end.
Пример
-2 30 -1 19 16 26 21 24 5 19 -3 28 10 11 -9
14 6 -2 28 26 4 8 -4 -7 28 -4 10 -9 6 29 -10 8 9 26 5 12 23 18 9 20
Максимум четных 1-го массива 30 больше 2-го 28