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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
#1

Функции, определенные пользователем - C++

15.02.2013, 21:52. Просмотров 420. Ответов 0
Метки нет (Все метки)

dihot(a, b, eps) функция для нахождения корня методом дихотомии и rectangle(a, b, eps) функция для нахождения площади фигуры методом прямоугольников с заданной точностью, я так смог решить , я прикрепил функцию и что надо сделать функцией, помогите чем сможете.
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <iostream>
#include <fstream>
#include <cmath>
#include <iomanip>
 
using namespace std;
 
double f(double x)
{
(log(44.8)-sin(sqrt(x))/2) - x;
}
 
 
double dihot (double a, double b, double eps)
{
       printf("a="); scanf("%lf", &a);
        printf("b="); scanf("%lf", &b);
        printf("eps="); scanf("%lf", &eps);
        int n=0;
       do {
                eps=(a+b)/2;
                if (f(eps)-f(a)<=0)     не знаю  как записать?
                b=eps;
                else a=eps;
 
                n++;
  }
        while (fabs(a-b)>=eps);
                printf("eps=%lf\n", eps);
                printf("n=%d\n", n);
              return 0;
}
 
double rectangle (double a, double b, double eps)
{
    int n=5;
    double S0, S1=0;
    double h=(b-a)/n;
    for (double x=a; x<=b; x+=h)
    {
        S1+=f(x)*h;
    }
    do
    {
        n*=2;
        h=(b-a)/n;
        S0=S1;
        for (double x=a; x<=b; x+=h)
        {
            S1+=f(x)*h;
        }
    }
    while (fabs(S0-S1)>=eps);
    return S1;
}
 
void def_a_b(double& a, double& b)
{
    do
    {
        a/=2;
        b*=2;
    }
    while  if (f(eps)-f(a) <=0) 
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    ofstream file("Lab_7_ZINR_gggg.txt");
    cout<<"ggggg"<<endl<<"ЗИН-21"<<endl;
    cout<<"Лабораторная работа №7\n"<<"Вариант №3\n"<<endl;
    file<<"ggggg."<<endl<<"ЗИНР"<<endl<<"Лабораторная работа №7"<<endl<<"Вариант №3"<<endl<<endl;
    double a, b, c, eps;
    do
    {
        cout<<"Введите точность eps (положительное число меньше единицы): ";        //Ввод степени точности e
        cin>>eps;
        if ((eps<=0)||(eps>=1))
            cout<<endl<<"Точность eps должна быть положительной и меньше единицы!!!"<<endl<<endl;
    }
    while ((eps<=0)||(eps>=1));
    file<<"eps="<<eps<<endl;
    do
    {
        cout<<"Введите нижнюю границу интервала a (больше нуля): ";
        cin>>a;
        if (a<=0)
            cout<<endl<<"Число a должно быть положительным!!!"<<endl<<endl;
    }
    while (a<=0);
    do
    {
        cout<<"Введите верхнюю границу интервала b (больше нуля): ";
        cin>>b;
        if (b<=0)
            cout<<endl<<"Число b должно быть положительным!!!"<<endl<<endl;
    }
    while (b<=0);
    if (a>=b)
        {
            eps=a;
            a=b;
            b=eps;
        }
    if (f(a)*f(b)>=0)
    {
        def_a_b(a, b);
        cout<<"Границы интервала были изменены, т.к. не удовлетворяди условию f(a)*f(b)<0."<<endl;
        cout<<"a="<<a<<endl<<"b="<<b<<endl;
    }
    file<<"a="<<a<<endl<<"b="<<b<<endl;
    double R, S, mid;
    R=dihot(a,b, eps);
    mid=(a+R)/2;
    cout<<"Результаты работы программы:"<<endl;
    file<<"Результаты работы программы:"<<endl;
    cout<<"x="<<R<<endl;
    file<<"x="<<R<<endl;
    if (f(mid)>0)
        S=rectangle(a, R, eps);
    else S=rectangle(R, b, eps);
    cout<<"S="<<S<<endl;
    file<<"S="<<S<<endl;
    file.close();
    system("pause");
    return 0;
}
if (f(eps)-f(a)<=0) не знаю как записать?
0
Миниатюры
Функции, определенные пользователем  
Вложения
Тип файла: docx задaние.docx (23.1 Кб, 2 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2013, 21:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции, определенные пользователем (C++):

Отладчик зависает при входе только в определенные 2 функции - C++
Не знаю что с отладчиком, но он зависает при входе только в определенные 2 функции. Смысла приводить их код не вижу, потому что они самые...

Ввод функции пользователем - C++
Никак не получается переделать данную программу так, чтобы пользователь мог вводить функцию сам, а не писать её внутри кода программы (в...

использование функции определяемых пользователем - C++
Ни как понять не могу как после создания функции пользователем , вызывать в нужный момент в блоке main(). даже код накидал но он...

Программа, которая использует три определяемых пользователем функции - C++
Помогите понять, что не так или...? Напишите программу на С++, которая использует три определяемых пользователем функции (включая...

Программа, которая использует три определяемых пользователем функции - C++
Только начал изучать C++ и столкнулся с такой вот задачкой: &quot;Напишите программу, которая использует три определяемых пользователем...

работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции - C++
задание- перевернуть, заданную пользователем строку, в отдельной функции; написал вот такой код, переворачиваю-&gt; копирую-&gt;вывожу ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2013, 21:52
Привет! Вот еще темы с ответами:

Реализовать заполнение массива случайными числами в диапазоне, указанном пользователем (функции) - C++
Добрый день, подскажите как сделать это задание.... За ранее благодарен!!! По возможности, комментируйте каждое действие. Описать...

Friend функции, определенные в теле класса - C++
Всем привет! Непонятна логика, которой руководствуются компиляторы. Рассмотрим код: #include &lt;iostream&gt; struct A{...

Напишите программу, которая использует три определяемых пользователем функции (включая main ()) - C++
Напишите программу на C++, которая использует три определяемых пользователем функции (включая main ()) и генерирует следующий вывод: ...

Строки и функции пользователя. Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год» - C++
Помогите пожалуйста с программой . Преобразовать заданную пользователем дату в формате «дд.мм.гг» в формат «месяц дд, год». Например,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru