Помогите пожалуйста переделать программу на чистый Си
Код:
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
double fix(double(*f)(double), double a, double b, double eps);
double f(double x);
int i;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "");//подключение языков
double a, b, eps;
cout << "Нахождение приближенного значения корня методом деления отрезка пополам.\nВведите левую границу отрезка 'a' = ";
cin >> a;//ввод левой границы отрезка 'a'
cout << "Введите правую границу отрезка 'b' = ";
cin >> b;//ввод правой границы отрезка 'b'
cout << "Введите точность нахождения 'eps' = ";
cin >> eps;//ввод точности нахождения 'eps'
cout << "Приближенное значение корня = " << fix(f, a, b, eps) << endl;
cout << "Приближенное значение корня найдено за " << i << " шагов" << endl;
system("PAUSE");
return 0;
}
double fix(double(*f)(double), double a, double b, double eps)
{
double x = (a + b) / 2;
while ((abs(b - a)>eps) && (f(x) != 0))
{
if (f(a)*f(x)<0)
b = x;
else
a = x;
x = (a + b) / 2;
cout << "x=" << x << endl;
i++;
}
return x;
}
double f(double x)
{
return sin(x);
}