Оформить код в виде функции - 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; }
Объяснение кода листинга программы
- Объединение всех необходимых библиотек и стандартных вхожих функций в единый исполняемый файл.
- В функции
main
считываются значения переменныхa
,b
,c
,x0
,xn
,dx
с помощью функцииread_int
иread_float
. - В функции
func
вычисляется функцияf
для каждого значенияx
в заданном диапазоне. - Если значение
x
меньше нуля иb
не равно нулю, то вычисляется значениеf
какa*x*x + b
. - Если значение
x
больше нуля иb
равно нулю, то вычисляется значениеf
как(x - a) / x
. - Если значение
c
не равно нулю, то вычисляется значениеf
какx / c
. - Если значение
c
равно нулю, то выводится сообщение об ошибкеdivision by zero ('c')
и выполнение цикла продолжается. - Для каждого значения
x
выводится результат вычисленияf
. - Функция
main
завершается возвратом значения 0, что указывает на успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д