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

Указатели на функции. Вычислить. - C++

Восстановить пароль Регистрация
 
pesc
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 6
07.04.2013, 18:11     Указатели на функции. Вычислить. #1
помогите пожалуйста написать код сделать через Указатели на функциия вообше не понимаю как это делать .

http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=1}^{100}\sum_{j=1}^{50}\frac{1}{i+j^2}?

Добавлено через 1 минуту
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=1}^{100}\sum_{j=1}^{60}sin{\left(i^3+j^4 \right)}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.04.2013, 18:45     Указатели на функции. Вычислить. #2
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
#include <iostream>
#include <math>
double (*dfii)(int ,int);
double f1(int x, int y);
double f2(int x, int y);
double summ(dfii f, int n, int m);
int main ()
{
 int n;
 int m;
 std::cout<<"n=";
 std::cin>>n;
 std::cout<<std::endl;
 std::cout<<"n=";
 std::cin>>m;
 std::cout<<std::endl<<"sum="<<sum(f1, n, m)<<std::endl;
 std::cout<<"n=";
 std::cin>>n;
 std::cout<<std::endl;
 std::cout<<"n=";
 std::cin>>m;
 std::cout<<std::endl<<"sum="<<sum(f2, n, m)<<std::endl;
 return 0;
}
double f1(int x, int y)
{
 return (1.0/(((double)x)+((double)y)*((double)y));
}
double f2(int x, int y)
{
 return sin(((double)x)*((double)x)*((double)x)+((double)y)*((double)y)*((double)y)*((double)y));
}
double summ(dfii f, int n, int m)
{
 double r;
 int x;
 int y;
 r=0.0;
 for (x=1; x<=n; ++x)
 {
  for (y=1; y<=m; ++y)
  r+=f(x, y);
 }
 return r;
}
pesc
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 6
07.04.2013, 19:18  [ТС]     Указатели на функции. Вычислить. #3
а почему то ошибок выдает при комплияции много

Добавлено через 1 минуту
Код
error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "f"
 error C2440: инициализация: невозможно преобразовать "double (__cdecl *)(int,int)" в "double"
 error C3861: sum: идентификатор не найден
 error C2374: summ: переопределение; множественная инициализация
Добавлено через 2 минуты
ен могу понять че за ошибки как их исправить
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.04.2013, 19:30     Указатели на функции. Вычислить. #4
Цитата Сообщение от pesc Посмотреть сообщение
error C3861: sum: идентификатор не найден
Очепятка summ.

Добавлено через 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
42
43
44
45
#include <iostream>
#include <math>
typedef double (*dfii)(int, int);
double f1(int x, int y);
double f2(int x, int y);
double summ(dfii f, int n, int m);
int main ()
{
 int n;
 int m;
 std::cout<<"n=";
 std::cin>>n;
 std::cout<<std::endl;
 std::cout<<"n=";
 std::cin>>m;
 std::cout<<std::endl<<"sum="<<sum(f1, n, m)<<std::endl;
 std::cout<<"n=";
 std::cin>>n;
 std::cout<<std::endl;
 std::cout<<"n=";
 std::cin>>m;
 std::cout<<std::endl<<"sum="<<summ(f2, n, m)<<std::endl;
 return 0;
}
double f1(int x, int y)
{
 return (1.0/(((double)x)+((double)y)*((double)y));
}
double f2(int x, int y)
{
 return sin(((double)x)*((double)x)*((double)x)+((double)y)*((double)y)*((double)y)*((double)y));
}
double summ(dfii f, int n, int m)
{
 double r;
 int x;
 int y;
 r=0.0;
 for (x=1; x<=n; ++x)
 {
  for (y=1; y<=m; ++y)
  r+=f(x, y);
 }
 return r;
}
pesc
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 6
07.04.2013, 19:40  [ТС]     Указатели на функции. Вычислить. #5
помогите наити ошибки то

Добавлено через 2 минуты
Код
std::cout<<std::endl<<"sum="<<sum(f1, n, m)<<std::endl;
error C3861: sum: идентификатор не найден

return (1.0/(((double)x)+((double)y)*((double)y));
error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
Добавлено через 24 секунды
а тут то как исправить эти ошибки
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.04.2013, 19:42     Указатели на функции. Вычислить. #6
Цитата Сообщение от pesc Посмотреть сообщение
std::cout<<std::endl<<"sum="<<sum(f1, n, m)<<std::endl;
Я же её уже исправил.

Добавлено через 1 минуту
Цитата Сообщение от pesc Посмотреть сообщение
return (1.0/(((double)x)+((double)y)*((double)y));
error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
Обсчитался скобки.
C++
1
return (1.0/(((double)x)+((double)y)*((double)y)));
pesc
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 6
07.04.2013, 19:52  [ТС]     Указатели на функции. Вычислить. #7
все равно std::cout<<std::endl<<"sum="<<sum(f1, n, m)<<std::endl;
sum подчеркивается

Добавлено через 53 секунды
а тут две проги в 1 чтоли я понять не могу??

Добавлено через 21 секунду
а где первая и где вторая
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.04.2013, 19:57     Указатели на функции. Вычислить. #8
Цитата Сообщение от pesc Посмотреть сообщение
все равно std::cout<<std::endl<<"sum="<<sum(f1, n, m)<<std::endl;
sum подчеркивается
При двух m?

Добавлено через 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
42
43
44
45
#include <iostream>
#include <math>
typedef double (*dfii)(int, int);
double f1(int x, int y);
double f2(int x, int y);
double summ(dfii f, int n, int m);
int main ()
{
 int n;
 int m;
 std::cout<<"n=";
 std::cin>>n;
 std::cout<<std::endl;
 std::cout<<"n=";
 std::cin>>m;
 std::cout<<std::endl<<"sum="<<summ(f1, n, m)<<std::endl;
 std::cout<<"n=";
 std::cin>>n;
 std::cout<<std::endl;
 std::cout<<"n=";
 std::cin>>m;
 std::cout<<std::endl<<"sum="<<summ(f2, n, m)<<std::endl;
 return 0;
}
double f1(int x, int y)
{
 return (1.0/(((double)x)+((double)y)*((double)y)));
}
double f2(int x, int y)
{
 return sin(((double)x)*((double)x)*((double)x)+((double)y)*((double)y)*((double)y)*((double)y));
}
double summ(dfii f, int n, int m)
{
 double r;
 int x;
 int y;
 r=0.0;
 for (x=1; x<=n; ++x)
 {
  for (y=1; y<=m; ++y)
  r+=f(x, y);
 }
 return r;
}
.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 19:58     Указатели на функции. Вычислить.
Еще ссылки по теме:

Вычислить суммы с данной точностью е, используя указатели на функции, как параметры C++
Указатели и массивы. Указатели и функции C++
Указатели на массивы. Указатели и функции C++

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

Или воспользуйтесь поиском по форуму:
pesc
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 6
07.04.2013, 19:58  [ТС]     Указатели на функции. Вычислить. #9
спасибо за работало
Yandex
Объявления
07.04.2013, 19:58     Указатели на функции. Вычислить.
Ответ Создать тему
Опции темы

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