Написать функцию, вывести результаты вычислений - C (СИ)
Формулировка задачи:
помогите (сделайте за меня)
Решение задачи: «Написать функцию, вывести результаты вычислений»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double fnct(double x, double eps);
int factorial(int op);
double fraction(int x, int n);
int main() {
float L, R, d, x;
double n, y;
int eps;
printf("zadaite znachenie X. \n");
scanf("%f", &x);
printf("zadaite znachenie levoi granicy. \n");
scanf("%f", &L);
do {
printf("zadaite znachenie pravoi granicy. \n");
scanf("%f", &R);
}
while(R<=L);
do {
printf("zadaite shag tabulirovaniya. \n");
scanf("%f", &d);
}
while (d>=(R-L));
do
{
printf("zadaite jelaemuu tochnost. \n");
scanf("%d", &eps);
}
while (eps <= 0);
printf("+-----------+-----------+ \n");
printf("| n | y | \n");
printf("+-----------+-----------+ \n");
n = L;
do
{
y = fraction(x, n);
printf("| %3.4f | %.*f |\n", n, eps, y);
n = n + d;
}
while (n <= R);
return 0;
}
double fnct(double x, double eps)
{
double y;
y=x;
return y;
}
int factorial(int op) {
int result = 1;
if (op == 0) {
return result;
}
while (op > 0) {
result *= op;
--op;
}
return result;
}
double fraction(int x, int n) {
double n1 = (n * pow(x, n - 1));
double n2 = (2 * n - 1) * factorial(2 * n + 1);
return pow(-1, n - 1) * (n1 / n2);
}
Объяснение кода листинга программы
- Ввод значений переменных L, R, d, x, eps с помощью функции scanf().
- Проверка введенных значений R и L в цикле do-while на соответствие условию R <= L.
- Проверка введенного значения d в цикле do-while на соответствие условию d >= (R-L).
- Проверка введенного значения eps в цикле do-while на соответствие условию eps > 0.
- Вывод шаблона таблицы с помощью функции printf().
- Инициализация переменной n значением L.
- Выполнение вычислений в цикле do-while на заданном интервале значений n от L до R с шагом d.
- Вычисление значения функции y с помощью функции fraction(int x, int n).
- Вывод значения n и y в таблицу с помощью функции printf().
- Увеличение значения n на d.
- Выход из цикла do-while при достижении условия n <= R.
- Завершение программы с возвратом значения 0.
- Определение функции fnct(double x, double eps), которая возвращает значение x.
- Определение функции factorial(int op), которая возвращает значение факториала числа op.
- Определение функции fraction(int x, int n), которая возвращает значение дроби (n-1)! / (x^(n-1) (2n-1)).