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

Вычислить значение функции на интервале - C++

Восстановить пароль Регистрация
 
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
21.08.2013, 14:50     Вычислить значение функции на интервале #1
Делаю свою первую лабораторную по С++ по учебнику
Задание на прикрепленной картинке.
Вот мой код (среда разработки Microsoft Visual C++ 2010 Express)
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
#include "stdafx.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    
    double a, b, c, XStart, XEnd, deltaX;
    cout << "Введите a = ";
    cin >> a;
    cout << "Введите b = ";
    cin >> b;
    cout << "Введите c = ";
    cin >> c;
    cout << "Введите начальное значение XStart = ";
    cin >> XStart;
    cout << "Введите начальное значение XEnd = ";
    cin >> XEnd;
    cout << "Введите deltaX = ";
    cin >> deltaX;
 
    bool check = false;
    if((((int)a | (int)b) & ((int)a | (int)c)) != 0) {check = true;}
    
    double F;
    cout <<  "\n-----------------\n";
    cout << "F\t|x\t|\n";
    cout <<  "-----------------\n";
    for (double x = XStart; x <= XEnd; x += deltaX)
    {
        if ( (x < 0) && (b != 0))
        {
            F = x*pow(x,2)+b;
        }
        else 
        {
            if ((x > 0) && (b = 0))
            {
                F = (x - a)/(x - c);
            }
 
            else 
            {
                F = (int) (x/c);
            }
        }
    if(check) { F = (int) F;}
    cout << F;
    cout <<  "\t|";
    cout << x;
    cout <<  "\t|\n";
    cout <<  "-----------------\n";
    }
 
    system("PAUSE"); 
    return 0;
}
Не могу разобраться, зачем нужна проверка
C++
1
(((int)a | (int)b) & ((int)a | (int)c))
?
и все ли у меня правильно по коду?
Миниатюры
Вычислить значение функции на интервале  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 14:50     Вычислить значение функции на интервале
Посмотрите здесь:

C++ Вычислить значение заданной функции y=f(x) на данном интервале [a,b] с заданным шагом h
C++ Вычислить значение заданной функции y=f(x) на данном интервале [a,b] с заданным шагом h
Вычислить значение функции на интервале с определенным шагом C++
C++ Вычислить значение функции на интервале [-1,1] с шагом 0,1
Вычислить значение функции на заданном интервале с указанным шагом C++
C++ Вычислить и вывести на экран в виде таблицы значение функции y(x) на интервале
Вычислить значение функции на интервале с заданным шагом C++
C++ Вычислить значение заданной функции на данном интервале с заданным шагом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
21.08.2013, 15:04  [ТС]     Вычислить значение функции на интервале #2
Вот код
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
#include "stdafx.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    
    double a, b, c, XStart, XEnd, deltaX;
    cout << "Введите a = ";
    cin >> a;
    cout << "Введите b = ";
    cin >> b;
    cout << "Введите c = ";
    cin >> c;
    cout << "Введите начальное значение XStart = ";
    cin >> XStart;
    cout << "Введите начальное значение XEnd = ";
    cin >> XEnd;
    cout << "Введите deltaX = ";
    cin >> deltaX;
 
    bool check = false;
    if((((int)a | (int)b) & ((int)a | (int)c)) != 0) {check = true;}
    
    double F;
    cout <<  "\n-----------------\n";
    cout << "F\t|x\t|\n";
    cout <<  "-----------------\n";
    for (double x = XStart; x <= XEnd; x += deltaX)
    {
        if ( (x < 0) && (b != 0))
        {
            F = x*pow(x,2)+b;
        }
        else 
        {
            if ((x > 0) && (b = 0))
            {
                F = (x - a)/(x - c);
            }
 
            else 
            {
                F = x/c;
            }
        }
    if(check) { F = (int) F;}
    cout << F;
    cout <<  "\t|";
    cout << x;
    cout <<  "\t|\n";
    cout <<  "-----------------\n";
    }
 
    system("PAUSE"); 
    return 0;
}
Vozyka Yaroslav
4 / 4 / 0
Регистрация: 18.07.2013
Сообщений: 45
21.08.2013, 17:47     Вычислить значение функции на интервале #3
Проверка делается, исходя из задания, для того что бы результат вывести либо натуральным, либо действительным числом. Если условие выполнено то F = (int) F; отбросит остаток и сделает число натуральным.
Yandex
Объявления
21.08.2013, 17:47     Вычислить значение функции на интервале
Ответ Создать тему
Опции темы

Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru