В данном разделе представлен пример консольного приложения на языке C++, которое вычисляет значения двух функций 2*exp(r*r) и pow(sin(r), 2) в заданном диапазоне и выводит результаты.
typedef double (*TFun)(double); // Декларация типа указателя на функцию
double fun1(double); // Декларация прототипа функции
double fun2(double); // Декларация прототипа функции
void Out_Tabl(TFun, double, double, double); // Декларация прототипа функции
void main()
{
double a, b, h;
puts("Input a,b,h");
scanf("%lf%lf%lf", &a, &b, &h);
puts("
Function - 2*exp(x)");
Out_Tabl(fun1, a, b, h);
puts("
Function - sin(x)*sin(x)");
Out_Tabl(fun2, a, b, h);
puts("
Press any key ... ");
getch();
}
double fun1(double r) {
return 2*exp(r*r);
}
double fun2(double r) {
return pow(sin(r), 2);
}void Out_Tabl(TFun f, double xn, double xk, double h) {
for(double x=xn; x<=xk; x+=h)
printf(" x = %5.2lf, y = %8.4lf
",x,f(x));
}Программа выводит значения двух функций для заданных интервалов и шага. Например, для входных данных 0.1 1.0 0.3:
Input a,b,h
0.1 1.0 0.3
Function - 2*exp(x)
x = 0.10, y = 2.0201
x = 0.40, y = 2.3470
x = 0.70, y = 3.2646
x = 1.00, y = 5.4366
Function - sin(x)*sin(x)
x = 0.10, y = 0.0100
x = 0.40, y = 0.1516
x = 0.70, y = 0.4150
x = 1.00, y = 0.7081
Press any key ...
Примечание: В коде `mem->Lines->Add(...)` использован для вывода в компонент TMemo, что характерно для сред разработки типа Delphi/C++ Builder. В представленном варианте `printf` используется для консольного вывода.