Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Alexei96
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 22
#1

Указатели на функции

21.05.2015, 22:24. Просмотров 147. Ответов 0
Метки нет (Все метки)

Здравствуйте, нужна помощь! В программе используются указатели на функции и массивы указателей на функции. Программа вычисляет произведения выражений с изменяющейся переменной k = 1; k <= n; k++ Не знаю как объяснить иначе.. В выражениях встретился факториал внутри, и я не знаю считать его отдельно как то, или можно его вызвать функцией. Помогите, пожалуйста!


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
66
67
68
69
70
71
72
73
74
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "locale.h"
#include <iostream>
 
double f1(unsigned n, float x)
{
    printf(" Первое действие: ");
    double result = 0;
    unsigned k = 0;
    for (k = 1; k <= n; k++);
    {
        result *= (pow((1-x),(k+1))+1) / pow((fact(k-1)+1),2);
    }
    return result;
 
    //return 1;
}
double f2(unsigned n, float x)
{
    printf(" Второе действие: ");
    double result = 0;
    unsigned k = 0;
    for (k = 2; k <= n; k++);
    {
        result *= pow(x-(1/fact k),2);
    }
    return result;
 
    //return 2;
}
double(*menu(unsigned n, float x))(unsigned n, float x)
{
    int choice; /* Номер пункта меню */
    /* Массив указателей на функции: */
    double(*menu_items[])(unsigned n, float x) = { f1, f2 };
    printf("\n Введите номер задания (1 или 2): ");
    scanf_s("%d", &choice);
    if (choice < 3 && choice > 0)
        return menu_items[choice - 1];
    else
        return NULL;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    unsigned n;
    float x;
    double(*r) (unsigned n, float x); /* Указатель на функции .*/
    int t;
    printf("\nВведите натуральное n:\n");
    scanf_s("%d", &n);
    printf("\nВведите действительное x:\n");
    scanf_s("%f", &x);
    while (1)
    {/* Обращение к меню:  */
        r = menu(n, x);
        if (r == NULL)
        {
            printf("\nНомер задания введен неверно!");
            _getch();
            return 0;
        }
        /* Вызов выбранной функции */
        t = (*r) (n,x);
        printf("\tt= %d", t);
        printf("Результат выбранного выражения: result =", (*r)(n, x));
    }
 
    _getch();
    return 0;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2015, 22:24
Ответы с готовыми решениями:

Указатели на массивы. Указатели и функции
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в...

Указатели и массивы. Указатели и функции
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо...

Распечатать таблицы значений функций cox (x) и на отрезке [a; b] с шагом h, развив функции в ряд Тейлора и используя указатели на функции
Распечатать таблицы значений функций cox (x) и на отрезке с шагом h, развив...

Указатели и указатели на указатели, а также типы данных
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс...

Шаблонные функции и указатели на функции
Помогите доделать и исправить... Задание: 1. Создать структуру Прямоугольник,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2015, 22:24

Указатели и функции
Доброго времени суток. Прошу помощи у пользователей данного форума) Значит...

Функции указатели с++
Написать и протестировать функцию, возвращающую номер самого последнего...

указатели на функции
люди прошу помогите разобраться с задачами ....1. Створити динамічний масив...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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