Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
-11 / 1 / 0
Регистрация: 07.09.2020
Сообщений: 206
1

Два метода в одной программе

12.10.2020, 20:00. Показов 269. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, пожалуйста, как сделать, чтобы сразу на два метода в одной программе выдавалось решение?

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
#include <iostream>
#include <cmath>
#include <fstream>
 
using namespace std;
 
double Fun(double x)
{
    return  2 * x * x - 12 * x;
}
 
int F(int n)
{
    int f, f1 = 1, f2 = 1, m = 0;
    while (m < n - 1)
    {
        f = f1 + f2;
        f1 = f2;
        f2 = f;
        ++m;
    }
    return f1;
}
 //---------------------------
int main()
{
    setlocale(LC_ALL, "Rus");
    double a, b, h, xmin;
    cout << "Метод золотого сечения" << endl;
    cout << "Введите начало отрезка : "; cin >> a;
    cout << "Введите конец отрезка : "; cin >> b;
    cout << "Введите шаг : "; cin >> h;
    double t = (sqrt(5) - 1) * 0.5;
    double x1 = b - t * (b - a);
    double x2 = a + t * (b - a);
    while (fabs(b - a) > h)
    {
        cout.precision(3);
        cout << "x1 =  " << x1 << endl;
        cout << "x2 =  " << x2 << endl;
        cout.precision(4);
        cout << "f(x1) " << Fun(x1) << endl;
        cout << "f(x2) " << Fun(x2) << endl;
 
        if (Fun(x2) < Fun(x1))
            a = x1;
        else
            b = x2;
        x1 = b - t * (b - a);
        x2 = a + t * (b - a);
    }
    cout << "xmin =  " << (xmin = (a + b) * 0.5) << endl;
    cout << "f(xmin) " << Fun(xmin) << endl;
}
 
//------------------------------
int main()
{
    setlocale(LC_ALL, "Rus");
    double a, b, e;
    double F[] = { 1, 1, 2, 3, 5, 8, 13 };
    int N = 6;
    cout << "Метод Фибоначчи " << endl;
    cout.precision(5);
    cout << "Введите начало интервала : "; cin >> a;
    cout << "Введите конец интервала : "; cin >> b;
    cout << "Введите шаг : "; cin >> e;
    int k = 0;
    double y, z, f1, f2;
    y = a + (b - a) * F[N - 2] / F[N];
    z = a + (b - a) * F[N - 1] / F[N];
    do
    {
        f1 = Fun(y);
        f2 = Fun(z);
        if (f1 < f2)
        {
            b = z;
            z = y;
            y = a + (b - a) * F[N - k - 3] / F[N - k - 1];
        }
        else
        {
            a = y;
            y = z;
            z = a + (b - a) * F[N - k - 2] / F[N - k - 1];
        }
        cout << "Итерация " << k + 1 << endl;
        cout.precision(4);
        cout << "y0 = " << z << " F(y0) = " << f1 << endl;
        cout << "z0 = " << y+z << " F(z0) = " << f2 << endl;
    } while (k++ != N - 3);
 
    y = z;
    z += e;
    f1 = Fun(y);
    f2 = Fun(z);
    if (f1 < f2)
        b = z;
    else
        a = y;
 
    cout << "Итерация " << k + 1 << endl;
    cout << "z0 = " << a << " F(x1) = " << f1 << endl;
    cout << "y0 = " << b << " F(x2) = " << f2 << endl;
 
    cout << "x = " << (a + b) / 2 << endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2020, 20:00
Ответы с готовыми решениями:

Два потока в одной программе
Две фунцкии одной программы оформить как две функции потока. После ввода значений запускаются два...

Два потока в одной программе
В универе лабу задали сделать прогу, которая выполняет 2 потока. При нажатии button1 выполняется...

Вычислить два выражения в одной программе
Нужно вычислить два выражения в одной программе. Если не видно:...

Класс: Написать два класса — Normal и Double, в каждом из которых будет два метода — .swap(other) и .what()...
Написать два класса — Normal и Double, в каждом из которых будет два метода — .swap(other) и...

2
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
12.10.2020, 20:54 2
Цитата Сообщение от makich_ Посмотреть сообщение
Подскажите, пожалуйста, как сделать, чтобы сразу на два метода в одной программе выдавалось решение?
C++
1
2
3
4
5
void method1()
{
    
    double a, b, h, xmin;
    cout << "Метод золотого сечения" << endl;
C++
1
2
3
4
5
6
void method2()
{
    double a, b, e;
    double F[] = { 1, 1, 2, 3, 5, 8, 13 };
    int N = 6;
    cout << "Метод Фибоначчи " << endl;
C++
1
2
3
4
5
6
int main()
{
    setlocale(LC_ALL, "Rus");
    method1();
    method2();
}
0
-11 / 1 / 0
Регистрация: 07.09.2020
Сообщений: 206
12.10.2020, 20:58  [ТС] 3
oleg-m1973, во, да, спасибо
0
12.10.2020, 20:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2020, 20:58
Помогаю со студенческими работами здесь

написать коментарии к программе и исправить ошибку в одной программе
и впрграмме mass нужно найти ошибку

Два ip адреса из одной сети на одной системе
Было два компьютера с адресами из одной сети. Один убрал и перенес сервиса на второй. Обращения к...

Два метода и this
Добрый день, умные люди Я немного растерян заданием: создать класс с 2 методами. в первом дважды...

Как изменить аргумент метода в откомпилированной программе?
Добрый день. Как пример, есть такая программа: ... static void Main(string args) { ...

Найти ошибку в программе для метода Розенброка
const n=2; a=2; b=-0.5; eps=0.01; label 0,1,2,3,4,5,6,7,8,9,10; var x,y,t1,t2,h,norm :real;...

Использование метода из dll (C++) с callback аргументами в C# программе?
Уже всю голову сломал, не могу разобраться с тем, как сопоставить типы данных параметров. Расскажу...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru