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

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

Восстановить пароль Регистрация
 
IceStrength
0 / 0 / 0
Регистрация: 25.10.2014
Сообщений: 56
22.11.2014, 00:31     Ошибка "Невозможно преобразовать аргумент 1 из "double" в "double *" #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
#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 *"
Посмотрите здесь:

Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *" C++
C++ Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
warning C4244: =: преобразование "double" в "float", возможна потеря данных C++
error C2664: CWnd::MessageBoxW: невозможно преобразовать параметр 2 из "long" в "LPCTSTR" C++
Warning C4244: =: преобразование "double" в "float", возможна потеря данных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2908 / 1444 / 397
Регистрация: 18.10.2014
Сообщений: 2,662
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
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
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 *"
Ответ Создать тему
Опции темы

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