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

Указатель на функцию, как он вводится? СРОЧНО! - C++

Восстановить пароль Регистрация
 
Starstuck
 Аватар для Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
27.11.2012, 21:22     Указатель на функцию, как он вводится? СРОЧНО! #1
На завтра задачу задали, не могу решить. Не поможете? Срочно надо!

Сама задача в прикреплениях!

Вот мой пример решения, правда есть два вопроса:
1) Как в аргументах ф-ии обозначить указатель на ф-ию f1? (См. условие)
2) Как обозначить опять же в аргументах массив? X[N] или просто X?

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 <stdio.h>
#include <stdlib.h>
#include <math.h>
int N = 100;
int X[N];
 
float f1(x)
{
      return x*sin(x)+cos(x);
}
 
//float f2(x)
// {
//      return sin(x);
//}
 
//float f3(x)
//{
//      return cos(x);
//}
 
 
float Fun( *ГіГЄГ*Г§Г*òåëü Г*Г* ГґГіГ*êöèþ f* , int X * <- çäåñü X èëè X[N] ?? *, int N)
{
      float s=0;
      for (int k=0;k<=N;k++) s=s+f1(x[k])/N;
      return s;
}
      
      
int main()
{
    for (int i=1;i<=N;i++) X[i]=i;
    float ss = fun( *ГіГЄГ*Г§Г*òåëü Г*Г* ГґГіГ*êöèþ f*, X * <- çäåñü X èëè X[N] ?? *, N)
    printf("%f/n",ss);
    
    system ("pause");
}
Миниатюры
Указатель на функцию, как он вводится? СРОЧНО!  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 21:22     Указатель на функцию, как он вводится? СРОЧНО!
Посмотрите здесь:

Как передать указатель на функцию в функцию C++
C++ В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
Указатель на функцию (как передать?) C++
C++ Как передать указатель на структуру в функцию
C++ Как работает указатель на функцию?
Передать в неуправляемую функцию указатель на указатель C++
Как получить указатель на функцию C++
C++ Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Starstuck
 Аватар для Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
27.11.2012, 22:22  [ТС]     Указатель на функцию, как он вводится? СРОЧНО! #2
Апдейт моего варианта решения... Те же 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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int N = 100;
int X[100];
 
float f1(int x)
{
      return x*sin(x)+cos(x);
}
 
//float f2(x)
// {
//      return sin(x);
//}
 
//float f3(x)
//{
//      return cos(x);
//}
 
 
float Fun( float (*p) , int X[N], int N)
{
      float s=0;
      for (int k=0;k<=N;k++) s=s+f1(X[k])/N;
      return s;
}
      
      
int main()
{
     float (*p)(int x); /* ГіГЄГ*Г§Г*òåëü Г*Г* ГґГіГ*êöèþ */
     p = f1; /* ïðèñâГ*ГЁГўГ*ГҐГІ Г*äðåñ ГґГіГ*êöèè strcmp ГіГЄГ*Г§Г*òåëþ p */         
    for (int i=1;i<=N;i++) X[i]=i;
    float ss = fun( float (*p), X[N], N)
    printf("%f/n",ss);
    
    system ("pause");
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11834 / 6813 / 769
Регистрация: 27.09.2012
Сообщений: 16,886
Записей в блоге: 2
Завершенные тесты: 1
27.11.2012, 22:28     Указатель на функцию, как он вводится? СРОЧНО! #3
Это не код - это гора ошибок!!!
Синтаксические исправил, а работает правильно или нет думайте сами.
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
const int N = 100;
int X[N];
 
float f1(int x)
{
      return x*sin((double)x)+cos((double)x);
}
 
//float f2(x)
// {
//      return sin(x);
//}
 
//float f3(x)
//{
//      return cos(x);
//}
 
 
float Fun(float (*foo)(int), int * X, int N)
{
      float s=0;
      for (int k=0;k<=N;k++) s=s+foo(X[k])/N;
      return s;
}
      
      
int main()
{
    for (int i=1;i<=N;i++) X[i]=i;
    float ss = Fun(f1, X, N);
    printf("%f\n",ss);    
    system ("pause");
}
Yandex
Объявления
27.11.2012, 22:28     Указатель на функцию, как он вводится? СРОЧНО!
Ответ Создать тему
Опции темы

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