Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Переделать с С++ на чистый Си (http://www.tehnari.ru/f41/t253818/)

Elaysa 19.05.2017 22:41

Переделать с С++ на чистый Си
 
Помогите пожалуйста переделать программу на чистый Си

Код:

#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);
       
}



Часовой пояс GMT +4, время: 14:00.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.