Оформить код в виде функции - C (СИ)

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

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

Ребят помогите пожалуйста написать код в виде функции, никак не пойму как
#include <stdio.h>
#include <math.h>
int main()
{
    int a;
    int b;
    int c;
    float x;
    float x0;
    float x1;
    float dx;
    float f;
    printf("Vvod a \t");
    scanf("%d", &a);
    printf("Vvod b \t");
    scanf("%d", &b);
    printf("Vvod c \t");
    scanf("%d", &x);
    printf("Vvod x0 \t");
    scanf("%f", &x0);
    printf("Vvod x1 \t");
    scanf("%f", &x1);
    printf("Vvod dx \t");
    scanf("%f", &dx);
    for (x = x0; x <= x1; x += dx)
    {
        if(x < 0 && b != 0)
        {
        f = a * x*x + b;
        printf("Result \t %f", f);
        }
        if(x > 0 && b ==0)
        {
            f = (x - a) / (x - b);
            printf("Result \t %f", f);
        }
        else
        if(c != 0)
            {
                f = x / c;
                printf("Result \t %f", f);
            }
            else
                printf("Na nol nelzya delit \t");
        }
    }
    return 0;
}

Решение задачи: «Оформить код в виде функции»

textual
Листинг программы
#include <stdio.h>
 
void
read_int(char *name, int *to)
{
    printf("type int '%s': ", name);
    scanf("%d", to);
}
 
void
read_float(char *name, float *to)
{
    printf("type float '%s': ", name);
    scanf("%f", to);
}
 
void
func(int a, int b, int c, float x0, float xn, float dx)
{
    float x;
    double f;
    for (x = x0; x <= xn; x += dx) {
        if (x < 0 && b != 0)
            f = a*x*x + b;
        else if (x > 0 && b == 0)
            f = (x - a) / x;
        else if (c != 0)
            f = x / c;
        else {
            printf("division by zero ('c')\n");
            continue;
        }
        printf("result (x = %.2f): %f\n", x, f);
    }
}
 
int
main(void)
{
    int a, b, c;
    float x0, xn, dx;
 
    read_int("a", &a);
    read_int("b", &b);
    read_int("c", &c);
 
    read_float("x0", &x0);
    read_float("xn", &xn);
    read_float("dx", &dx);
 
    func(a, b, c, x0, xn, dx);
 
    return 0;
}

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

  1. Объединение всех необходимых библиотек и стандартных вхожих функций в единый исполняемый файл.
  2. В функции main считываются значения переменных a, b, c, x0, xn, dx с помощью функции read_int и read_float.
  3. В функции func вычисляется функция f для каждого значения x в заданном диапазоне.
  4. Если значение x меньше нуля и b не равно нулю, то вычисляется значение f как a*x*x + b.
  5. Если значение x больше нуля и b равно нулю, то вычисляется значение f как (x - a) / x.
  6. Если значение c не равно нулю, то вычисляется значение f как x / c.
  7. Если значение c равно нулю, то выводится сообщение об ошибке division by zero ('c') и выполнение цикла продолжается.
  8. Для каждого значения x выводится результат вычисления f.
  9. Функция main завершается возвратом значения 0, что указывает на успешное выполнение программы.

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


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

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

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