Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

не могу написать программу для массивов. подскажите пожалуйста, где я сделал ошибку и если можно исправте

zzz Ученик (108), закрыт 14 лет назад
Дополнен 14 лет назад
#include "stdafx.h"
#include <iostream.h>
#include "math.h"
double RIZN (double);
double PR (double);
double FUNCTION (double);
int main()

{

double D, E, F;
D=RIZN;
E=PR;
F=FUNCTION;
printf ("D=%f\n E=%f\n ", D, E); // відповідь MA=15.652476 MB=15.652476 R=-15.652476
return 0;
}

double RIZN (double)
{

int A[3];
A[0]=8;
A[1]=9;
A[2]=10;
int B[3];
B[0]=9;
B[1]=8;
B[2]=10;
double MA, MB, RIZN;

MA=sqrt(pow(A[0],2)+pow(A[1],2)+pow(A[2],2)); //модуль A[]
MB=sqrt(pow(B[0],2)+pow(B[1],2)+pow(B[2],2)); //модуль B[]
RIZN=2*MA-3*MB;
}
double PR (double)

{
int A[3];
A[0]=8;
A[1]=9;
A[2]=10;
int C[3];
C[0]=8;
C[1]=10;
C[2]=9;
double PR;

PR=((A[0]*C[0])+(A[1]*C[1])+(A[2]*C[2]))/(sqrt(pow(C[0],2)+pow(C[1],2)+pow(C[2],2)));

}

double FUNCTION (double)
{ int A[3];
A[0]=8;
A[1]=9;
A[2]=10;
int B[3];
B[0]=9;
B[1]=8;
B[2]=10;
int C[3];
C[0]=8;
C[1]=10;
C[2]=9;
double G, D;

D=((A[0]*B[0])+(A[1]*B[1])+(A[2]*B[2]));
G=PR*D;
}
Дополнен 14 лет назад
D:\Мои документы\C++\3-8\hgh\hgh.cpp(12) : error C2440: '=' : cannot convert from 'double (__cdecl *)(double)' to 'double'
There is no context in which this conversion is possible
D:\Мои документы\C++\3-8\hgh\hgh.cpp(13) : error C2440: '=' : cannot convert from 'double (__cdecl *)(double)' to 'double'
There is no context in which this conversion is possible
D:\Мои документы\C++\3-8\hgh\hgh.cpp(14) : error C2440: '=' : cannot convert from 'double (__cdecl *)(double)' to 'double'
There is no context in which this conversion is possible
D:\Мои документы\C++\3-8\hgh\hgh.cpp(71) : error C2296: '*' : illegal, left operand has type 'double (__cdecl *)(double)'
Error executing cl.exe.

hgh.exe - 4 error(s), 0 warning(s)
Лучший ответ
BarsИк Мастер (2189) 14 лет назад
у вас в функции main идет вызов функций без указания параметров, то есть обращение как к переменным. . это bad...

функция вызывается либо с параметрами либо без, но всегда со скобками после идентификатора.

D=RIZN(значение) ;
E=PR(значение) ;
F=FUNCTION(значение) ;

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

D=RIZN();
E=PR();
F=FUNCTION();

а в описаниях функций вообще можно убрать double... по сути. . зачем он там нужен???
Остальные ответы
SleepyBonesSmith Мастер (1909) 14 лет назад
D=RIZN;
E=PR;
F=FUNCTION;
ты присаваиваеш значение функции котрой должен передаватся параметр, т. е. должно быть примерно так:
D=RIZN(10);
E=PR(20);
F=FUNCTION(30);
и проверь возвращаемое значение в самой функции
chi-QN-off Просветленный (38490) 14 лет назад
Ну, я в С++ не спец, но зачем Вы переопределяете тип функции внутри самой функции?
А именно:
double RIZN (double)
{
...
double MA, MB, RIZN;
...
}

А также:
double PR (double)
{
...
double PR;
...
}
Похожие вопросы