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

Вычислить и вывести на экран в виде таблицы значения функции на указанном интервале с заданным шагом - C++

Восстановить пароль Регистрация
 
abbey
0 / 0 / 0
Регистрация: 06.01.2016
Сообщений: 1
06.01.2016, 18:05     Вычислить и вывести на экран в виде таблицы значения функции на указанном интервале с заданным шагом #1
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
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
    float x, a, b, c, xn, xk, dx, f;
    cout << "a="; cin >> a;
    cout << "b="; cin >> b;
    cout << "c="; cin >> c;
    cout << "x nachal'noe="; cin >> xn;
    cout << "x konechnoe="; cin >> xk;
    cout << "dx="; cin >> dx;
    signed int ac = (signed int)a;
    signed int bc = (signed int)b;
    signed int cc = (signed int)c; //присвоение переменных
    cout.precision(3); //количество чисел после запятой
    while (xn == xk)
    {
        cout << "\aPovtorite:\n";
        cout << "x nachal'noe: "; cin >> xn;
        cout << "x konechnoe: "; cin >> xk;//если x начальный равен х конечному, изменить значения
    } 
        while (xn == c)
    {
        cout << "\a x ne mojet bit' = c. Povtorite:\n";
        cout << "x: "; cin >> xn;
        cout << "c: "; cin >> c; //если x равен c, изменить значения
    } 
    {
        cout << " x\t" << "F " << endl; //вывод для таблички 
    for (x = xn; x <= xk; x += dx) //задаем цикл
        {
            if (x < 0 && b != 0) //если x<0 и b не равен 0
                if (((ac | bc) & (ac | cc)) != 0) //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) не равен 0                
            {
                (f = a*pow(x,2) + b);
                cout << " " << x << "\t" << f << " " << endl; //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) не равен 0, то f остается вещественным числом
            }
            else
            {
                cout << " " << x << "\t" << (f = static_cast<signed int>(a*pow(x, 2) + b)) << " " << endl; //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) = 0, то f становится целым числом
            }
            else if (x>0 && b == 0) //если x>0 и b=0
                if (((ac | bc) & (ac | cc)) != 0)
            {
                f = (x - a) / (x - c);
                cout << " " << x << "\t" << f << " " << endl; //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) не равен 0, то f остается вещественным числом
            }
            else
            {
                cout << " " << x << "\t" << (f = static_cast<signed int>((x - a) / (x - c))) << " " << endl; //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) = 0, то f становится целым числом
            }
            else
                if (((ac | bc) & (ac | cc)) != 0)
            {
                f = x / c;
                cout << " " << x << "\t" << f << " " << endl; //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) не равен 0, то f остается вещественным числом
            }
            else
            {
                cout << " " << x << "\t" << (f = static_cast<signed int>(x/c)) << " " << endl; //если (Ац ИЛИ Вц) И Ац ИЛИ СЦ) = 0, то f становится целым числом
            }
        }
    }
        _getch();
    system("pause");
}
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.







Где а,b,с — действительные числа.



Функция F должна принимать действительное значение, если выражение

(Ац ИЛИ Вц) И (Ац ИЛИ Сц)

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц. обозначены целые части значений а, b, с, операции И и ИЛИ — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

картинку с функцией вложил. помогите с ошибками, первый пост, не ругайте строго
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2016, 18:05     Вычислить и вывести на экран в виде таблицы значения функции на указанном интервале с заданным шагом
Посмотрите здесь:

C++ Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.
Вычислить и вывести на экран в виде таблицы значения функции F, на интервале от Хнач до Хкон с шагом dX C++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон. с шагом dX. C++
C++ Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Х[нач] до Х[кон] с шагом dx C++
C++ Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач до Хкон с шагом dx
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX C++
Вычислить и вывести на экран в виде таблицы значения функции F в интервале от X1 до X2 с шагом dX C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ferrari F1
Нарушитель
294 / 280 / 61
Регистрация: 27.01.2015
Сообщений: 1,888
Записей в блоге: 1
Завершенные тесты: 1
06.01.2016, 19:32     Вычислить и вывести на экран в виде таблицы значения функции на указанном интервале с заданным шагом #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
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
class Func
{
    double a, b, c, X_beg, X_end, step;
 
    void help_Print_Double(void) const
    {
        double x_temp(X_beg);
        for (; x_temp < X_end; x_temp += step)
        {
            if (x_temp < 0 && b)
                cout << fixed << setprecision(3)
                << a * x_temp * x_temp + b << endl;
            else if (x_temp > 0 && !b)
                cout << fixed << setprecision(3)
                << (x_temp - a) / (x_temp - c) << endl;
            else
                cout << fixed << setprecision(3)
                << c / x_temp << endl;
        }
    }
 
    void help_Print_Int(void) const
    {
        double x_temp(X_beg);
        for (; x_temp <= X_end; x_temp += step)
        {
            if (x_temp < 0 && b)
                cout << int(a * x_temp * x_temp + b) << endl;
            else if (x_temp > 0 && !b)
                cout << int((x_temp - a) / (x_temp - c)) << endl;
            else
                cout << int(c / x_temp) << endl;
        }
    }
 
public:
    Func()
    {
        cout << "Введите a, b и с" << endl;
        (cin >> a >> b >> c).clear(); cin.sync();
        cout << "Введите X начальное, X конечное и шаг" << endl;
        (cin >> X_beg >> X_end >> step).clear(); cin.sync();
    }
 
    void print_Table(void) const
    {
        cout.put('\n');
        if (int(a) | int(b) & (int(a) | int(c)))
            help_Print_Double();
        else
            help_Print_Int();
    }
};
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Func f;
    f.print_Table();
    cout.put('\n');
    system("pause");
    return 0;
}
Alexander Bakay
 Аватар для Alexander Bakay
97 / 49 / 15
Регистрация: 15.12.2015
Сообщений: 246
Завершенные тесты: 1
06.01.2016, 19:35     Вычислить и вывести на экран в виде таблицы значения функции на указанном интервале с заданным шагом #3
36 строка
Цитата Сообщение от abbey Посмотреть сообщение
if (((ac | bc) & (ac | cc)) != 0)
>>
C++
1
if ((ac || bc) && (ac || cc))
38 строка
Цитата Сообщение от abbey Посмотреть сообщение
(f = a*pow(x,2) + b);
>>
C++
1
f = a*pow(x,2) + b;
46 строка
Цитата Сообщение от abbey Посмотреть сообщение
if (((ac | bc) & (ac | cc)) != 0)
>>
C++
1
if ((ac || bc) && (ac || cc))
Yandex
Объявления
06.01.2016, 19:35     Вычислить и вывести на экран в виде таблицы значения функции на указанном интервале с заданным шагом
Ответ Создать тему
Опции темы

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