Работа с функциями - C (СИ)
Формулировка задачи:
знаю что подобных заданий много, но я все равно не могу написать нужную функцию, прошу помощи
задание ниже на скриншоте:
требования к заданию: в функции мейн написать алгоритм счета функции, а вывести через свою функцию
Язык Си, выводить через принтф, вводить через сканф, считать через цикл
вот мой код, но тут черт ногу сломит:
буду очень признателен за любую помощь
#include <stdio.h>
#include <conio.h>
#include <math.h>
float mathem(float f,float k);
int main()
{
float x,a,b,c,x1;
puts("vvedite x nach");
scanf("%f",&x);
puts("vvedite x konech");
scanf("%f",&x1);
puts("vvedite a");
scanf("%f",&a);
puts("vvedite b");
scanf("%f",&b);
puts("vvedite c");
scanf("%f",&c);
float dx;
dx=0.01;
float f;
int n=0,k=0;
for( x;x<x1;x+0.01)
{
if( x<0 && b!=0)
f=a-(x/(10+b));
else if(x>0 && b==0)
f=(x-a)/(x-c);
else
f=3*x+2/c;
n+1==k;
k=n;
return f;
}
getch();
return 0;
}
float mathem(float f,float k)
{ puts("tablica znachiniy");
int i;
for(i=0;i<mathem(k);i++)
printf("%f\n",mathem);
getch();
return 0;
}
vverh
Решение задачи: «Работа с функциями»
textual
Листинг программы
typedef float (*Function)(float, float, float, float, float);
inline int equals(float a, float b, float epsilon) {
return (fabs(a - b) < epsilon);
}
inline void swap(float *a, float *b) {
float c = *a;
*a = *b;
*b = c;
}
Объяснение кода листинга программы
- Создается тип функции
Function, который представляет собой указатель на функцию, принимающую пять аргументов типаfloatи возвращающую значение типаfloat. - Определяется функция
equals, которая принимает три аргумента типаfloatи возвращает значение типаint. Она используется для сравнения двух чисел с заданной точностью. - Определяется функция
swap, которая принимает два аргумента типаfloat*и меняет значения двух указателей наfloatместами. - В основной части программы код, использующий эти функции, не представлен.