Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Переписать, чтобы значения стали аргументами функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка массива по возрастанию http://www.cyberforum.ru/cpp-beginners/thread818060.html
Задача состоит в следующем. Сортировать двумерный массив по возрастанию, методом выбора максимума, согласно данному рисунку. http://img13.imageshost.ru/img/2013/03/25/image_51503349e47de.jpg ...
C++ Точка входа в процедуру не найдена в библиотеке dll пытаюсь подключить библиотеку вот такая ошибка, как бы поправить? http://www.cyberforum.ru/cpp-beginners/thread818053.html
C++ Дан текст. Преобразовать его по следующему правилу
Дан текст. Преобразовать его по правилу: если нет символа "*", то оставить его без изменения, иначе заменить каждый символ, встречающийся после первого вхождения символа "*" на символ "_". Ничего...
Вычислить значение исходя из условия C++
http://s017.***********/i429/1303/83/7957d88f6dc0.jpg Заранее спасибо =)
C++ Среди треугольников с вершинами в заданном множестве точек на плоскости http://www.cyberforum.ru/cpp-beginners/thread818036.html
Среди треугольников с вершинами в заданном множестве точек на плоскости указать такой, стороны которого содержат максимально число точек заданного множества. Как я поняла сначала создать два...
C++ Работа с файлом Поясню: записываю файл из двумерного целочисленного вектора вот такой строкой: fprintf(f2, "%c", dinom); да да именно со спецификатором "%c". Теперь хочу получить int-овский эквивалент каждого... подробнее

Показать сообщение отдельно
Flashik66
17 / 9 / 7
Регистрация: 05.11.2012
Сообщений: 119

Переписать, чтобы значения стали аргументами функции - C++

25.03.2013, 15:22. Просмотров 277. Ответов 1
Метки (Все метки)

Добрый всем. Вот у меня есть программка но немного не правильный код. Значит вот условие:
Написать функцию, находящую корни уравнения методом хорд. Аргументы этой функции:
· указатель на функцию, задающую уравнение;
· интервал [a,b];
· точность ε.
Найти корни следующих уравнений:
3*x2-150*sin(x)=0
ex/2-x3+50=0
x3-x2-50=0
3x-x2=0
Интервал, на котором функция монотонна и имеет корень [1.5;4.5]. Точность примите равной 0.0001

Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream.h>
#include <math.h>
double f1(double x);
double f2(double x);
double f3(double x);
double f4(double x);
double corni(double a,double b,double e,double (*pf)(double));
void main ()
{
    double (*farr[4])(double)={f1,f2,f3,f4};
    double a1=1.5,b1=4.5,e1=0.0001;
    cout<<"Uravnenia: "<<endl;
    cout<<"1. 3*x^2-150*sin(x)=0"<<endl;
    cout<<"2. e^(x/2)-x^3+50=0"<<endl;
    cout<<"3. x^3-x^2-50=0 "<<endl;
    cout<<"4. 3*x-x^2=0"<<endl;
    cout<<endl;
    for (int i=0;i<4;i++)
    {    
        cout<<"Koren "<<i+1<<" uravnenia:  ";
        cout<<corni(a1,b1,e1,farr[i])<<endl;
    }
}
double f1(double x)
{
    return 3*x*x-150*sin(x);
}
double f2(double x)
{
     double e=2.7182;
     return pow(e,x/2)-pow(x,3)+50;
}
double f3(double x)
{
     return pow(x,3)-pow(x,2)-50;
}
double f4(double x)
{
    return 3*x-x*x;
}
double corni(double a,double b,double e,double (*pf)(double))
{
    while(fabs(b-a)>e)
    {
        a=b-(b-a)*pf(b)/(pf(b)-pf(a));
        b=a-(a-b)*pf(a)/(pf(a)-pf(b));
    }
    return b;
}
 
}
Вот и собственно мои значения:
double a1=1.5,b1=4.5,e1=0.0001;
не являются аргументами функции. Я пробовал переписать но у меня что-то не то выходит. Прошу помощи. Надо просто переписать чтобы значения double a1=1.5,b1=4.5,e1=0.0001; стали аргументами функции..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru