Функции

Юлька7

Необходимо вычислить и вывести на экран все значения математической функции F на интервале от x = -10.0 до x = 10.0 с шагом 1.0. Вычисление значения функции F необходимо выполнить с использованием функции языка С Func, в которую передаются четыре параметра: x, a, b, c, где a, b, c – действительные числа, которые вводятся с клавиатуры и в процессе вычисления значений функции F не изменяются. {1/(ax)-b; при x+5<0 и c=0 F={(x-a)/x; при x+5>0 и с не равно 0 {10x/(c-4); в остальных случаях
1 ответ

Юлька7

/*
Необходимо вычислить и вывести на экран все значения математической функции F на интервале 
от x = -10.0 до x = 10.0 с шагом 1.0. Вычисление значения функции F необходимо выполнить 
с использованием функции языка С Func, в которую передаются четыре параметра: x, a, b, c, 
где a, b, c – действительные числа, которые вводятся с клавиатуры и в процессе вычисления 
значений функции F не изменяются.
 
{1/(ax)-b; при x+5<0 и c=0
F= {(x-a)/x; при x+5>0 и с не равно 0
{10x/(c-4); в остальных случаях 
*/
 
#include <stdio.h>
 
****** func(****** x, ****** a, ****** b, ****** c){
    if ( ( x + 5.0 < 0.0 ) && ( c == 0.0 ) )
        return 1.0 / a * x - b; /* возможно, 1.0 / (a * x - b); уточните задание! */
    if ( ( x + 5.0 > 0.0 ) && ( c != 0.0 ) )
        return (x - a) / x;
    return 10.0 * x / (c - 4.0);
}
 
#define LOWER_BOUND ( -10.0 )
#define HIGHER_BOUND ( 10.0 )
#define STEP ( 1.0 )
 
int main(void){
    ****** x, a, b, c;
    
    printf("A = ");
    scanf("%lf", &a);
    printf("B = ");
    scanf("%lf", &b);
    printf("C = ");
    scanf("%lf", &c);
    
    printf("x         f(x)\n------------------------------\n");
    for ( x = LOWER_BOUND; x <= HIGHER_BOUND; x += STEP )
        printf("%-10.1f%.1f\n", x, func(x, a, b, c));
    
    return 0;
}
Условие не корректное - при х равном 0 и с неравном 0 результат не определён.