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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Best-pm07
..:::BesT:::..
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
#1

Вызовы функций с помощью указателей - C++

16.04.2009, 21:36. Просмотров 932. Ответов 4
Метки нет (Все метки)

Составить программу которая использует вызовы функций с помощью указателей

------------------------
первая функция

double (*func1)
(float *, int)
------------------------
------------------------
вторая функция

double (*func2)
(double, long int)
------------------------
------------------------
третья функция

double (*func3)
(unsigned int *)
------------------------
------------------------
четвертая функция

float (*func4
(double)(void))
[10]
------------------------

Вот есть пример:
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
46
47
48
49
50
51
52
53
#include<iostream.h>
#include<math.h>
void H(char(*func1)(unsigned int*),char(*func2)(int*,float*,double*),char(*func3)(void*));
int*func4(char*be,int*b);
char f1(unsigned int*c);
char f2(int*d,float*e,double*f);
char f3(void*g);
void main()
{int r,*my=&r,y;
 char p;
 p='w';
 y=54;
 H(f1,f2,f3);
 *my=*func4(&p,&y);
 cout<<*my;
}
void H(char(*func1)(unsigned int*),char(*func2)(int*,float*,double*),char(*func3)(void*))
{int a2;
 unsigned int a1;
 float a4;
 double a3;
 void *a5;
 char z1,z2,z3;
 a1=12;
 a2=10;
 a3=3.5;
 a4=8.1;
 z1=(*func1)(&a1);
 z2=(*func2)(&a2,&a4,&a3);
 z3=(*func3)(a5);
 cout<<z1<<' '<<z2<<' '<<z3<<'\n';
}
 
char f1(unsigned int*c)
{if (*c<10) return 'a';
  else return 'b';
}
 
char f2(int*d,float*e,double*f)
{if((*d>*e)&&(*f>0)) return'a';
  else return 'b';
}
 
char f3(void*g)
{return 'v';
}
 
int*func4(char*be,int*b)
{int a,*c=&a;
 if(*be=='w') *c=*b;
  else *c=0;
 return c;
}
Помогите сделать задание
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2009, 21:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызовы функций с помощью указателей (C++):

Можно ли с помощью хуков перехватывать вызовы функций из DLL? - C++
Привет народ! Для одного проекта ;) мне понадобилось перехватывать функцию, находящуюся в DLL (а точнее в kernel32.dll, т.е....

Вызовы функций с указателями - C++
У меня всё получилось с первыми 3 функциями , а что в 4 я совсем не пойму.. #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include...

Касательно указателей и функций - C++
Уважаемые, назрел вот какой вопрос. Делаю вот так: TVozmGrup MassVG; GetVGArroundVG(MassVG); void GetVGArroundVG(TVozmGrup...

Использование указателей и функций - C++
Сформировать динамический массив Х размера M × N из случайных целых чисел. В программе организовать функцию для подсчета среднего...

Индексация массивов с помощью указателей - C++
Не смог понять логику вот этой программы, связанной с объявлением массивов через указатель: #include &lt;iostream&gt; ...

Переворот массива с помощью указателей - C++
Здрасте! Учусь на программера недавно. Вот задали перевернуть массив рекурсивно с использованием указателей. На рекурсию я пока решил...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Best-pm07
..:::BesT:::..
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
25.04.2009, 15:29  [ТС] #2
Помогите сделать, я непонимаю, как много путаюсь, очень прошу помощи
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
25.04.2009, 15:49 #3
Цитата Сообщение от Best-pm07 Посмотреть сообщение
Составить программу которая использует вызовы функций с помощью указателей
Что эта программа должна делать. Вопрос уточните!.
Best-pm07
..:::BesT:::..
7 / 7 / 1
Регистрация: 19.03.2009
Сообщений: 195
26.04.2009, 00:26  [ТС] #4
Неважно, что она делает (я незнаю)
Главное - то, чтобы

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

если это невозможно, то тогда помогите составить любую программу с использованием функций с точно такими же типами (из таблицы)

Добавлено через 8 часов 17 минут 22 секунды
Мне кто-нибудь поможет?
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
26.04.2009, 00:48 #5
У вас же есть пример. правда что это сам не пойму:
C++
1
float (*func4 (double)(void)) [10]
Добавлено через 18 минут 34 секунды
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <algorithm>
using namespace std;
 
//первая функция
//
//double (*func1)
//(float *, int)
//------------------------
//------------------------
//вторая функция
//
//double (*func2)
//(double, long int)
//------------------------
//------------------------
//третья функция
//
//double (*func3)
//(unsigned int *)
 
typedef double(*p_func_1)(float*,int);
typedef double(*p_func_2)(double,long int);
typedef double(*p_func_3)(unsigned int);
 
void BigFunction(p_func_1,p_func_2,p_func_3);
 
double func_1(float*,int);
double func_2(double,long int);
double func_3(unsigned int);
int main() 
{
    BigFunction(func_1,func_2,func_3);
 
    return 0;
}
 
void BigFunction(p_func_1 f1,p_func_2 f2,p_func_3 f3){
 
    const int len = 5;
    float arr[len] = {1.0,2.0,3.0,4.0,5.0};
    double d = 10;
    int i = 15;
    unsigned int ui = 20;
 
    cout<<"call function: "<<f1(arr,len)<<endl;
    cout<<"call function: "<<f2(d,i)<<endl;
    cout<<"call function: "<<f3(ui)<<endl;
}
 
double func_1(float* arr,int len){
    cout<<"[ ";
    for(int i = 0; i < len; ++i)
        cout<<arr[i]<<" ";
    cout<<"]"<<endl;
    return 1.0;
}
double func_2(double d,long int i){
    cout<<"D + I = "<<d+i<<endl;
    return 2.0;
}
double func_3(unsigned int i){
    cout<<"i + i"<<i + i<<endl;
    return 3.0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2009, 00:48
Привет! Вот еще темы с ответами:

Возврат указателей объектов из функций - C++
Всем хай. Решил вот освоить C++. Написал вот такой код: #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; class N1 { ...

Шаблоны функций и массив указателей - C++
Задание! Создайте шаблонную функцию maxn(), которая принимает в качестве аргумента массив элементов типа Т и целое число, представляющее...

Задать одномерный массив с помощью указателей - C++
задать одномерный массив с помощью указателей))

Решение задачи на матрицу с помощью указателей - C++
Помогите немного доделать вот такую задачку: Дана целочисленная квадратная матрица размерности nxn. Найти максимум среди сумм...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.04.2009, 00:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru