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

Ошибка: Выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)

30.11.2018, 00:22. Показов 6180. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выдаёт ошибку Выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-) при попытке нахождения определённого интеграла от функции g(x)
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
//#include "stdafx.h" 
#include"pch.h";
#include <iostream> 
#include <locale.h> 
#include <cmath> 
#include<math.h>
using namespace std;
int i;
 
 
long double x0, xk, dx, g, max = -99999999999, min = 99999999999, Integral, n, niz, verh;
 
double A;
char tab = '\t';
double y;
 
bool R;
double f(double x0)
{
    return g(x0);
}
int main()
{
    Integral = 0.0;
    n = (verh - niz) / dx;
    setlocale(LC_ALL, "Russian");
    cout << "Данная программа выполняет табулирование с постоянным шагом по аргументу х:" << endl;
    cout << "Функция:" << endl;
    cout << "f(x)=|e^(2y)+e^(y)+4*A*x*e^(y)+4*A^(2)*x^(2)+2*A*x, если y>=0" << endl;
    cout << "     |e^(2y)+e^(y)-4*A*x*e^(y)+4*A^(2)*x^(2)+2*A*x, если y<0" << endl;
    cout << "Условия: |x|<=100; |y|<=100; |A|<=1000;" << endl;
    cout << "Шаг табулирования не менее 0.01" << endl;
    cout << "Введите число A: ";
    cin >> A;
    cout << "Введите значение параметра y: ";
    cin >> y;
    cout << "Введите начальное значение аргумента x: ";
    cin >> x0;
    if (abs(x0) > 100)
    {
        R = false;
        while (R != true)
        {
            cout << "Ошибка ввода, введите начальное значение аргумента согласно условию: ";
            cin >> x0;
            if (abs(x0) <= 100) R = true;
        }
    }
    cout << "Введите конечное значение аргумента x: ";
    cin >> xk;
    if (abs(xk) > 100)
    {
        R = false;
        while (R != true)
        {
            cout << "Ошибка ввода, введите конечное значение аргумента согласно условию: ";
            cin >> xk;
            if (abs(xk) <= 100) R = true;
        }
    }
    cout << "Введите шаг табулирования: ";
    cin >> dx;
    if (dx < 0.01)
    {
        R = false;
        while (R != true)
        {
            cout << "Ошибка ввода, введите шаг табулирования согласно условию: ";
            cin >> dx;
            if (dx > 1) R = true;
        }
    }
    if (x0 > xk)
    {
        R = false;
        while (R != true)
        {
            cout << "Ошибка ввода, введите начальное и конечное значения заново, начальное значение должно быть меньше конечного" << endl;
            cout << "Попробуйте еще раз" << endl;
            cout << "Начальное значение: ";
            cin >> x0;
            cout << "Конечное значение: ";
            cin >> xk;
            if (x0 <= xk) R = true;
        }
    }
    cout << endl;
 
    cout << "Вывод табулирования:" << endl;
    cout << "x=" << tab << "f(x)=" << endl;
    cout << endl;
 
    while (x0 <= xk)
    {
        cout << x0 << tab;
        if (y>=0)
        {
            g = exp(2 * y) + exp(y)*(1 + 4 * A*x0) + 4 * A*A*x0*x0 + 2 * A*x0;
        }
        else
        {
            g = exp(2 * y) + exp(y)*(1 + 4 * A*x0) - 4 * A*A*x0*x0 + 2 * A*x0;
        }
        cout << g << endl;
        if (max <= g) max = g;
        if (min >= g) min = g;
        x0 += dx;
    }
 
    cout << endl;
    cout << "Максимальное значение функции: " << max << endl;
    cout << "Минимальное значение функции: " << min << endl;
    Integral = dx * (f(niz) + f(verh)) / 6.0;
    for (i = 1; i <= n; i++)
        Integral = Integral + 4.0 / 6.0 * dx * f(niz + dx * (i - 0.5));
    for (i = 1; i <= n - 1; i++)
        Integral = Integral + 2.0 / 6.0 * dx * f(niz + dx * i);
    cout << "I3 = " << Integral << "\n";
 
    system("pause");
    return 0;
}
Как исправить?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2018, 00:22
Ответы с готовыми решениями:

Выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)
Выдает ошибку с функцией pow(). Само задание: Во всех заданиях реализуемые функции должны генерировать подходящие исключения....

Выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)
void paint(HDC hdc, HWND hwnd, int m1, int n1, int k1) { HBRUSH hBrush = CreateSolidBrush(RGB(m1, n1, k1)); HBRUSH hOldBRUSH =...

Выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)
Здравствуйте! Постоянно возникает ошибка &quot;Выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)&quot; у...

1
Мозгоправ
 Аватар для L0M
1745 / 1039 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
30.11.2018, 01:06
Лучший ответ Сообщение было отмечено Сергей2000 как решение

Решение

Вот так этот франкенштейн что-то считает. Но то, что связано с переменной Integral, осталось для меня тайной.
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
//#include "stdafx.h" 
//#include"pch.h"
#include <iostream> 
#include <locale.h> 
#include <cmath> 
#include<math.h>
 
using namespace std;
 
const char tab = '\t';
 
 
double f(double x0, double y, double A) {
    double g;
    if (y >= 0) {
        g = exp(2 * y) + exp(y)*(1 + 4 * A*x0) + 4 * A*A*x0*x0 + 2 * A*x0;
    }
    else {
        g = exp(2 * y) + exp(y)*(1 + 4 * A*x0) - 4 * A*A*x0*x0 + 2 * A*x0;
    }
    return g;
}
 
int main() {
    int i;
    double x0, xk, dx, g, max = -DBL_MAX, min = DBL_MAX, Integral, n, niz, verh;
    double A;
    bool R;
    double y;
    Integral = 0.0;
    setlocale(LC_ALL, "Russian");
    cout << "Данная программа выполняет табулирование с постоянным шагом по аргументу х:" << endl;
    cout << "Функция:" << endl;
    cout << "f(x)=|e^(2y)+e^(y)+4*A*x*e^(y)+4*A^(2)*x^(2)+2*A*x, если y>=0" << endl;
    cout << "     |e^(2y)+e^(y)-4*A*x*e^(y)+4*A^(2)*x^(2)+2*A*x, если y<0" << endl;
    cout << "Условия: |x|<=100; |y|<=100; |A|<=1000;" << endl;
    cout << "Шаг табулирования не менее 0.01" << endl;
    cout << "Введите число A: ";
    cin >> A;
    cout << "Введите значение параметра y: ";
    cin >> y;
    cout << "Введите начальное значение аргумента x: ";
    cin >> x0;
    if (abs(x0) > 100) {
        R = false;
        while (R != true) {
            cout << "Ошибка ввода, введите начальное значение аргумента согласно условию: ";
            cin >> x0;
            if (abs(x0) <= 100) R = true;
        }
    }
    cout << "Введите конечное значение аргумента x: ";
    cin >> xk;
    if (abs(xk) > 100) {
        R = false;
        while (R != true) {
            cout << "Ошибка ввода, введите конечное значение аргумента согласно условию: ";
            cin >> xk;
            if (abs(xk) <= 100) R = true;
        }
    }
    cout << "Введите шаг табулирования: ";
    cin >> dx;
    if (dx < 0.01) {
        R = false;
        while (R != true) {
            cout << "Ошибка ввода, введите шаг табулирования согласно условию: ";
            cin >> dx;
            if (dx > 1) R = true;
        }
    }
    if (x0 > xk) {
        R = false;
        while (R != true) {
            cout << "Ошибка ввода, введите начальное и конечное значения заново, начальное значение должно быть меньше конечного" << endl;
            cout << "Попробуйте еще раз" << endl;
            cout << "Начальное значение: ";
            cin >> x0;
            cout << "Конечное значение: ";
            cin >> xk;
            if (x0 <= xk) R = true;
        }
    }
    cout << endl;
    niz = x0;
    verh = xk;
    n = (verh - niz) / dx;
 
    cout << "Вывод табулирования:" << endl;
    cout << "x=" << tab << "f(x)=" << endl;
    cout << endl;
 
    while (x0 <= xk) {
        cout << x0 << tab;
 
        g = f(x0, y, A);
 
        cout << g << endl;
        if (max <= g) max = g;
        if (min >= g) min = g;
        x0 += dx;
    }
 
    cout << endl;
    cout << "Максимальное значение функции: " << max << endl;
    cout << "Минимальное значение функции: " << min << endl;
    Integral = dx * (f(niz, y, A) + f(verh, y, A)) / 6.0;
    for (i = 1; i <= n; i++)
        Integral = Integral + 4.0 / 6.0 * dx * f(niz + dx * (i - 0.5), y, A);
    for (i = 1; i <= n - 1; i++)
        Integral = Integral + 2.0 / 6.0 * dx * f(niz + dx * i, y, A);
    cout << "I3 = " << Integral << "\n";
 
    system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2018, 01:06
Помогаю со студенческими работами здесь

Ошибка "выражение перед скобками вероятного вызова должно иметь тип функции pointer-to"
Не могу вывести ответ в файл потому что подчекивает calc(strline) и ему не нравится, &quot;что выражение перед скобками вероятного вызова...

Выражение перед скобками вероятного вызова должно иметь тип функции(-pointer to). Многофайловый проект
Имеется реализация сортировки слиянием, в виде одного файла проблем с работой нет. Я разделил файл на несколько, и помимо проблемы...

Ошибка: выражение должно иметь тип класса
Пытаюсь записи из textBox`ов перенести в dataGridView, но в последней строке появляется ошибка (выражение должно иметь тип класса). Как...

Ошибка. Выражение должно иметь тип класса
Здравствуйте, не понимаю, в чем ошибка Пишет: выражение слева от &quot;.push_back&quot; должно представлять класс, структуру или объединение; ...

Ошибка выражение должно иметь тип указателя на объект
Как устранить проблему? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru