Протабулировать функцию - C (СИ) (73538)

Узнай цену своей работы

Формулировка задачи:

не могу понять где ошибка... только начали изучать С , а учитель такой ... что в общем помогите ребят))
#include<stdio.h>
#include<math.h>
#include<conio.h>
 
void main()
{
    const float a=19.6, b=1.71,e=2.68,s=1,t=3, p=2, z=2.0,  x0=1.5, delta_x= 0.78;
    const int n=25; 
    int i=1;
    float y=0.0, x=x0;
    printf("Rezultati tabulyacii funkcii:");
    for (;i<=n ; printf("\nX=%7.5f\tY=%7.5f",x,((x<=1))? sqrt(pow(x,4)+a*b) :((x>=1)&&(x<=2.8))? x*pow(e,a*x) :(x>=2.8)? x/(pow(a,2)+sqrt(pow(b,2))): i++, x+=delta_x)); 
}

Решение задачи: «Протабулировать функцию»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double func(double x, double a, double b) {
    if (x < 1.0) {
        return pow( pow(x, 4) + a*b, 0.25 );
    } else if (x > 1.0 && x < 2.8) {
        return x * exp(a*x);
    } else {
        return x / ( pow(a, 2) + pow( pow(b, 2), 1.0/3.0 ) );
    }
}
 
int main() {
    const double a = 0.91, b = 1.8;
    const double x0 = 0.333, xk = 4.1, dx = 0.321;
    for (double x = x0; x < xk; x += dx) {
        printf("x = %lf\ty = %lf\n", x, func(x, a, b));
    }
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяется функция с тремя аргументами и возвращаемым значением типа double
  3. В функции происходит проверка значения первого аргумента. Если x меньше 1.0, то возвращается результат вычисления выражения pow(pow(x,4)+a*b),0.25)
  4. Если x больше или равно 1.0 и меньше 2.8, то возвращается результат вычисления выражения xexp(ax)
  5. Если x больше или равно 2.8, то возвращается результат вычисления выражения x/(pow(a,2)+pow(pow(b,2),1.0/3.0))
  6. В функции main() определяются константы a, b, x0, xk, dx
  7. Задается цикл for, который выполняет вычисления функции для каждого значения x от x0 до xk с шагом dx и выводит результаты на экран
  8. В конце функции main() возвращается 0, что означает успешное выполнение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы