Протабулировать заданную функцию y=f(x) на промежутке [3.2, 3.9] с постоянным шагом h=0.1. Функция y(x) имеет вид: (x-1)^sin(x), если ctan(x) > - 0.1 (x+1)^sin(x), если ctan(x) <= - 0.1
Помогите, пожалуйста, c написанием программки на С
int main(int argc, char *argv[]){ float a = 3.2, b = 3.9, x = a, y, h = 0.1; while (x <= b){ if (1.0/tan(x) > -0.1) y = pow((x-1),sin(x)); else y = pow((x+1),sin(x)); printf("y(%.2f) = %f\n", x, y); x += h; } return 0; }
Answers & Comments
Verified answer
#include <stdio.h>#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float a = 3.2, b = 3.9, x = a, y, h = 0.1;
while (x <= b){
if (1.0/tan(x) > -0.1) y = pow((x-1),sin(x));
else y = pow((x+1),sin(x));
printf("y(%.2f) = %f\n", x, y);
x += h;
}
return 0;
}
Результат:
y(3.20) = 0.955018
y(3.30) = 0.876878
y(3.40) = 0.799540
y(3.50) = 0.725119
y(3.60) = 0.655188
y(3.70) = 0.590810
y(3.80) = 0.532602
y(3.90) = 0.480816