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

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

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

Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" - C++

22.11.2014, 00:31. Просмотров 670. Ответов 4
Метки нет (Все метки)

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
#include <iostream>
#include <cmath>
using namespace std;
double f(double *a, double x) {
    double k = 0; int n;
    for (int i = 0; i < n; i++)
        k += (a[i] * pow(x, n - 1));
    return k;
}
void main() {
    double x, y, z, k;
    int n;
    cout << "n=";
    cin >> n;
    cout << "x=";
    cin >> x;
    cout << "y=";
    cin >> y;
    cout << "z=";
    cin >> z;
    double *a;
    a = new double[n];
    cout << "a:";
    for (int i = 0; i < n; i++)
        cin >> a[i];
    double *b;
    b = new double[n];
    cout << "b:";
    for (int i = 0; i < n; i++)
        cin >> b[i];
    double *c;
    c = new double[n];
    cout << "c:";
    for (int i = 0; i < n; i++)
        cin >> c[i];
    for (int i = 0; i < n; i++) {
        *k = (pow(f(*a, x), 2) - f(*b, y)) / f(*c, x + z);
    }
    cout << "k=" << k << endl;
    system("pause");
}
Ошибка невозможно преобразовать аргумент 1 из "double" в "double *"
Подскажите как исправить пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 00:31     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *"
Посмотрите здесь:

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" C++
warning C4244: =: преобразование "double" в "float", возможна потеря данных C++
Невозможно преобразовать "overloaded-function" в "LPDSENUMCALLBACKW" C++
error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 2 из "long" в "LPCTSTR" C++
Warning C4244: =: преобразование "double" в "float", возможна потеря данных C++
C++ Error C2664: RegisterClassW: невозможно преобразовать параметр 1 из "WNDCLASSEX *" в "const WNDCLASSW *"
Error C2440: =: невозможно преобразовать "void *" в "Node *" C++
C++ C2440 "Невозможно преобразовать double в double"
Как исправить ошибку невозможно преобразовать аргумент 1 из "unsigned int" в "unsigned int []"? C++
C++ Невозможно преобразовать "unsigned int" в "output::book_origin"
C++ Ошибка усечение из "double" к "float"
Warning C4244: return: преобразование "double" в "float", возможна потеря данных C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
3364 / 1686 / 448
Регистрация: 18.10.2014
Сообщений: 3,093
22.11.2014, 00:49     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" #2
Цитата Сообщение от IceStrength Посмотреть сообщение
Подскажите как исправить пожалуйста
Телепатов нет. Сначала расскажите, что нужно сделать.
IceStrength
0 / 0 / 0
Регистрация: 25.10.2014
Сообщений: 56
22.11.2014, 00:55  [ТС]     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" #3
ну, окей. Задано действительные числа а0....а30 ,б0......б30, с0.......с30 и числа x y z. Посчитать такое
((a0*x^30+a1*x^29+....+a30)^2- (b0*y^30+b1*y^29+...b30))/(c0(x+z)^30+ c1(x+z)29+...c30)
ValeryS
Модератор
6451 / 4917 / 451
Регистрация: 14.02.2011
Сообщений: 16,308
22.11.2014, 00:59     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" #4
Цитата Сообщение от IceStrength Посмотреть сообщение
f(*a, x),
зачем ты звездочку поставил?
знаешь к чему это приведет?
IceStrength
0 / 0 / 0
Регистрация: 25.10.2014
Сообщений: 56
22.11.2014, 01:28  [ТС]     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" #5
окей, исправил на что-то такое, но мне кажется считает оно неправильно
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
#include <iostream>
#include <cmath>
using namespace std;
double f(double *a, double x) {
    double k = 0; 
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
        k += (a[i] * pow(x, n - 1));
    return k;
}
void main() {
    double x, y, z, k;
    int n;
    cout << "n=";
    cin >> n;
    cout << "x=";
    cin >> x;
    cout << "y=";
    cin >> y;
    cout << "z=";
    cin >> z;
    double *a;
    a = new double[n];
    cout << "a:";
    for (int i = 0; i < n; i++)
        cin >> a[i];
    double *b;
    b = new double[n];
    cout << "b:";
    for (int i = 0; i < n; i++)
        cin >> b[i];
    double *c;
    c = new double[n];
    cout << "c:";
    for (int i = 0; i < n; i++)
        cin >> c[i];
    for (int i = 0; i < n; i++) {
        cout << "K=" <<(pow(f(a, x), 2) - f(b, y)) / f(c, x + z);
    }
 
    system("pause");
}
Добавлено через 22 минуты
ау, хелп
Yandex
Объявления
22.11.2014, 01:28     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *"
Ответ Создать тему
Опции темы

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