С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 30.03.2020
Сообщений: 28
1

Создать массив указателей на функции. Функции выполняют арифметические действия

07.06.2020, 17:24. Показов 1074. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать массив указателей на функции. Функции выполняют арифметические действия. Как это можно реализовать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2020, 17:24
Ответы с готовыми решениями:

Различные функции, для которых можно создать массив указателей на функции
Придумайте не менее 3-х различных функций, для которых можно создать массив указателей на функции.

Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и...

Создать функции для вычисления n! и a^b , используя только только арифметические действия
Создать функции для вычисления n! и a^b ,используя только только арифметические действия (+, –, :,...

Создать функции для вычисления n! и a^b, используя только только арифметические действия
Создать функцию для вычисления n! и ab, используя только только арифметические действия (+, –, :,...

3
2129 / 1212 / 503
Регистрация: 11.10.2018
Сообщений: 6,114
07.06.2020, 17:34 2
Лучший ответ Сообщение было отмечено RadioPhysik как решение

Решение

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
#include <iostream>
#include <stdio.h>
using namespace std;
 
void add(int x, int y)
{
    printf("x+y=%d \n", x+y);
}
void subtract(int x, int y)
{
    printf("x-y=%d \n", x-y);
}
void multiply(int x, int y)
{
    printf("x*y=%d \n", x*y);
}
 
int main()
{
    int a = 10;
    int b = 5;
    void (*operations[3])(int, int) = {add, subtract, multiply};
     
    //получаем длину массива
    int length = sizeof(operations)/sizeof(operations[0]);
     
    for(int i = 0; i < length; i++)
    {
        operations[i](a, b);    // вызов функции по указателю
    } 
    
    return 0;
}
1
264 / 183 / 87
Регистрация: 03.05.2020
Сообщений: 790
07.06.2020, 17:45 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
double sum(double a,double b)
{
    return a+b;
}
double sub(double a,double b)
{
    return a-b;
}
double mul(double a,double b)
{
    return a*b;
}
double div(double a,double b)
{
    return a/b;
}
void main()
{
    double a,b;
    cout<<"a b: ";
    cin>>a>>b;
    double (*f[])(double,double)={sum,sub,mul,div};
    string s="+-*/";
    for(int i=0; i<(int)s.length(); i++)
        cout<<a<<s[i]<<b<<"="<<f[i](a,b)<<endl;
    system("pause");
}
1
75 / 48 / 28
Регистрация: 07.01.2019
Сообщений: 168
07.06.2020, 20:10 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
#include <iostream>
#include <string>
#include <vector>
#include <functional>
using namespace std;
 
int add(const int x, const int y){
    return x + y;
}
int subtract(const int x, const int y){
    return x - y;
}
int multiply(const int x, const int y){
    return x * y;
}
int division(const int x, const int y) {
    return x / y; //вернется не вещественное число
}
int main()
{
    vector<std::function<int(int, int)>> arr{ add, subtract, multiply, division };
    int x, y;
    cin >> x >> y;
    for (auto i : arr) {
        cout << i(x, y) << " ";
    }
}
0
07.06.2020, 20:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2020, 20:10
Помогаю со студенческими работами здесь

Как создать массив из указателей на функции?
#include &lt;iostream&gt; using namespace std; const int SLEN = 30; struct student { char...

Создать массив из указателей которые указывают на функции
Как можно создать массив из указателей которые указывают на функции?

Создать массив заданной размерности с помощью функции и указателей
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void z(int *p){ int a; ...

Виртуальные функции (создать массив указателей на объекты трех классов)
Задание: создать массив указателей на объекты трех классов. Метод Show почему-то не...

Арифметические действия с использованием аргументов в функции main
#include &lt;stdio.h&gt; char onepluss (char a) { return a + 1 ; }

Создать две функции потоков, которые выполняют следующие расчеты:
Приветствую всех. Ребят создаю первую тему на этом прекрасном форуме. Если как то не так оформил,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru