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

cannot convert 'int' to 'int*' - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Mantissa
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 6
19.01.2011, 20:52     cannot convert 'int' to 'int*' #1
Дорогие форумчане, помогите, пожалуйста. В программе возникает ошибка cannot convert 'int' to 'int*'.
ошибка возникает в строке:
C++
1
2
3
4
5
6
7
8
9
y=p(1,A[7])+p(t-1), A[7])+pow((p(s+t,A[7])),2);
 
// p -это функция:
 
int p(int x, int A[7]) {
int h;
h=(A[0]*pow(x,6))+(A[1]*pow(x,5))+(A[2]*pow(x,4))+(A[3]*pow(x,3))+(A[4]*pow(x,2))+(A[5]*x)+A[6];
 
return h;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
19.01.2011, 20:58     cannot convert 'int' to 'int*' #2
А можно проект полностью???
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
19.01.2011, 20:59     cannot convert 'int' to 'int*' #3
Код
y=p(1,A)+p(t-1, A)+pow((p(s+t,A)),2);
Mantissa
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 6
19.01.2011, 21:42  [ТС]     cannot convert 'int' to 'int*' #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
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
long int p(int x, int A[6]) { int h;
h=(A[0]*pow(x,6))+(A[1]*pow(x,5))+(A[2]*pow(x,4))+(A[3]*pow(x,3))+(A[4]*pow(x,2))+(A[5]*x)+1;
return h;
  }
 
  int y, t, s, i;
  int A[6];
int main()
{
clrscr();
printf(" enter s");
scanf(" %d", &s);
printf("\n enter t");
scanf("%d", &t);
printf("\n enter massive of koefficients a");
for (i=0; i<6; i++ ){
printf("\n vvedi element yacheiki");
scanf("%d", &A[i]);
//cout<<"A["<<i<<"]"; cin>>A[i];
}
 
y=p(1, A[6])+p(t-1, A[6])+pow((p(s+t,A[6])),2);
printf("\n p= %d", y);
 
 
 getch();
 
}
//---------------------------------------------------------------------------
Добавлено через 13 минут
Суть программы состоит в том, чтобы выражение "у" вычислялось из функции "р". Коэффициентами для функции являются элементы одномерного массива.
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
19.01.2011, 22:20     cannot convert 'int' to 'int*' #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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
long int p(float x, int A[]) 
{ 
    int h;
    h=(A[0]*pow(x,6))+(A[1]*pow(x,5))+(A[2]*pow(x,4))+(A[3]*pow(x,3))+(A[4]*pow(x,2))+(A[5]*x)+1;
    return h;
};
 
  
 
int _tmain(int argc, _TCHAR* argv[])
{
    int y, t, s, i, A[6]; //Для поддержания инкапсуляции
    printf("Enter s: ");
    scanf(" %d", &s);
    printf("\nEnter t: ");
    scanf("%d", &t);
    printf("\nEnter massive of koefficients a.");
    for (i=0; i<6; i++ )
    {
        printf("\nVvedi element yacheiki: ");
        scanf("%d", &A[i]);
    };
    int y1, y2; 
    float y12;
    y1 = p(1, A)+p(t-1, A);
    y12 = p(s+t,A);
    y2 = pow(y12, 2);
    y = y1 + y2;
    printf("\np = %d.", y);
    getch();
    return 0;
};
В зависимости от проекта:
1). Можно не включать
C++
1
#include "stdafx.h"
2). Ну и сама Main()!
Mantissa
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 6
19.01.2011, 22:44  [ТС]     cannot convert 'int' to 'int*' #6
Спасибо, вы мне очень помогли. Вот только одно хотела спросить (в программировании новичок), разбивание выражения "у" принципиально или его можно объеденить?
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
19.01.2011, 22:53     cannot convert 'int' to 'int*' #7
Цитата Сообщение от Mantissa Посмотреть сообщение
Спасибо, вы мне очень помогли. Вот только одно хотела спросить (в программировании новичок), разбивание выражения "у" принципиально или его можно объеденить?
Да пренципиально, т.к. pow() принемает только значения!!!
Mantissa
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 6
19.01.2011, 23:32  [ТС]     cannot convert 'int' to 'int*' #8
Возник еще один вопрос, как заставить её отображаться. Файл компилируется, builder моргает и всё. При запуске исполнительного файла реакции не наблюдается никакой...
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
19.01.2011, 23:49     cannot convert 'int' to 'int*' #9
С чем вы работате (Visual Studio, C++ Builder и т.д.) и можно конкретнее вопрос поставить?
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
19.01.2011, 23:51     cannot convert 'int' to 'int*' #10
killboss,
Цитата Сообщение от Mantissa Посмотреть сообщение
builder моргает и всё.
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
19.01.2011, 23:53     cannot convert 'int' to 'int*' #11
Цитата Сообщение от ISergey Посмотреть сообщение
killboss,
Гы!!!

Скиньте Ваш код целиком!!!
Mantissa
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 6
20.01.2011, 00:12  [ТС]     cannot convert 'int' to 'int*' #12
Да, я работаю с C++ Builder 6. Во время выполнения программы диалога никакого не происходит, т.е. программа будто выполняется и всё.

Добавлено через 10 минут
Вся программа была написана выше.
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 00:40     cannot convert 'int' to 'int*' #13
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
//---------------------------------------------------------------------------
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
long int p(float x, int A[]) 
{ 
        int h;
        h=(A[0]*pow(x,6))+(A[1]*pow(x,5))+(A[2]*pow(x,4))+(A[3]*pow(x,3))+(A[4]*pow(x,2))+(A[5]*x)+1;
        return h;
};
 
  
 
int main()
{
        int y, t, s, i, A[6]; //Для поддержания инкапсуляции
        printf("Enter s: ");
        scanf(" %d", &s);
        printf("\nEnter t: ");
        scanf("%d", &t);
        printf("\nEnter massive of koefficients a.");
        for (i=0; i<6; i++ )
        {
                printf("\nVvedi element yacheiki: ");
                scanf("%d", &A[i]);
        };
        int y1, y2; 
        float y12;
        y1 = p(1, A)+p(t-1, A);
        y12 = p(s+t,A);
        y2 = pow(y12, 2);
        y = y1 + y2;
        printf("\np = %d.", y);
        getch();
        return 0;
};
Добавлено через 17 минут
Ну что ... работаить?
Не имею возможности проверить, т.к. работаю в Visual Studio, а не C++ Builder 6!!!
Mantissa
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 6
20.01.2011, 00:43  [ТС]     cannot convert 'int' to 'int*' #14
Спасибо, заработало.

Добавлено через 2 минуты
Вышло так, что _tmain() не воспринималась вообще. Как я поняла, проблема была в типах данных для некоторых переменных?
killboss
 Аватар для killboss
57 / 57 / 2
Регистрация: 18.12.2010
Сообщений: 127
20.01.2011, 00:44     cannot convert 'int' to 'int*' #15
Цитата Сообщение от Mantissa Посмотреть сообщение
Спасибо, заработало.
Для этого кнопочки есть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2011, 00:53     cannot convert 'int' to 'int*'
Еще ссылки по теме:

C++ Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec
C++ Cannot convert int to int* и обратно
C++ В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.?

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

Или воспользуйтесь поиском по форуму:
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
20.01.2011, 00:53     cannot convert 'int' to 'int*' #16
Цитата Сообщение от Mantissa Посмотреть сообщение
Вышло так, что _tmain() не воспринималась вообще. Как я поняла, проблема была в типах данных для некоторых переменных
_tmain() Это майкрософтовское расширение.. для UNICODE

Не по теме:

Цитата Сообщение от killboss
Для этого кнопочки есть

Yandex
Объявления
20.01.2011, 00:53     cannot convert 'int' to 'int*'
Ответ Создать тему
Опции темы

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