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

Указатель на функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ввести оценки и по ним определить кто ученик : отличник,хорошист, троечник, двоечник http://www.cyberforum.ru/cpp-beginners/thread289715.html
В общем задача такая. Нужно ввести оценки и по ним определить кто ученик : отличник,хорошист, троечник, двоечник. Написал функцию, но работает не правильно что то с условием. Он выводит результат по самый высокой оценке и нужно по самой низкой. То есть если я ввожу 3 оценки : 5,4,3- то он мне выдаёт результат: ученик Отличник. void proverka(){ int N; cout<<"Vvedite kol-vo otsenok";...
C++ Сортировка списка Помогите пожалуйста, нужна сортировка методом вставок односвязанного кольцевого списка, не пойму как делать. Со списками ток начал разбираться. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread289714.html
C++ База данных, ИПС.
Добрый вечер. В общем, нужно на с++ написать GUI приложение, как информационно поисковую систему. Вид связного списка - очередь. Кол-во полей элемента списка - 7 Вот обьясните мне, пожалуйста, как в очереди может быть у элемента 7 полей? Это нужно чтоб элементом был массив, получается? И как такое отобразить в listbox'e?
C++ Найти приближенное значение функции cos(x)
описать функцию cos1(x,eps) вещественного типа (параметры x,eps- вещественные,eps>0 ),находящую приближенное значение функции cos(x): cos x =x-x^2/2! + x^4/4!-....+(-1)^n*x^2*n/(2n)!+..... в сумме учитывать все слагаемые,большие по модулю eps. с помощью cos1 найти приближённое значение косинуса для данного x при шести данных значениях eps.
C++ описание функции http://www.cyberforum.ru/cpp-beginners/thread289703.html
описать функцию cos1(x,eps) вещественного типа (параметры x,eps- вещественные,eps>0 ),находящую приближенное значение функции cos(x): cos x =x-x^2/2! + x^4/4!-....+(-1)^n*x^2*n/(2n)!+..... в сумме учитывать все слагаемые,большие по модулю eps. с помощью cos1 найти приближённое значение косинуса для данного x при шести данных значениях eps.
C++ Array не выводит char Собственно не задание ни чего, хочу вывести небольшую программу с "арами", а именно - хочу что бы при введении ID 1 или 0 , выдавало Имя возраст пол и т.д. Вот небольшой код программы : #include <iostream> using namespace std; int main() { подробнее

Показать сообщение отдельно
olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
06.05.2011, 14:15     Указатель на функцию
меню реализовано с помощью массива указателей на функцию
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include<conio.h>
#include<iostream>
#include<fstream>
 
using namespace std;
 
typedef float(*ptr)(int ,int ,int **);
 
float print_arr (int n,int m,int **A,int k,int l,int **B)
{
    cout<<"\nМассив A[N][M]:"<<endl;
    for (int i=0; i<m; i++)
    { cout<<endl;
    for (int j=0;j<n;j++)
        cout<<A[i][j]<<"\t";
    }
    cout<<"\n\nМассив B[K][L]:"<<endl;
    for (int i=0; i<k; i++)
    { cout<<endl;
    for (int j=0;j<l;j++)
        cout<<B[i][j]<<"\t";
    }
    return 0;
}
 
float arr_max (int n,int m,int **A)
{
int max=A[0][0];
for (int i=0; i<m; i++)
    {
    for (int j=0;j<n;j++)
    if (A[i][j]>max)
        max=A[i][j];
    }
cout<<"макcимальный элемент";
    return max;
}
 
float arr_min (int n,int m,int **A)
{
int min=A[0][0];
for (int i=0; i<m; i++)
    {
    for (int j=0;j<n;j++)
    if (A[i][j]<min)
        min=A[i][j];
    }
cout<<"минимальный элемент";
    return min;
}
 
float arr_sred (int n,int m,int **A)
{
int sum=0;
int min=A[0][0];
for (int i=0; i<m; i++)
    {
    for (int j=0;j<n;j++)
    sum+=A[i][j];
    }
    cout<<"среднее арифметическое";
    return (float)sum/(n*m);
}
 
 
 
void use (int n,int m,int **A,int k,int l,int **B, ptr f)
{
system ("cls");
if (f==NULL)exit (1);
cout<<" массива A = "<<f(n,m,A)<<endl;
cout<<" массива B = "<<f(k,l,B)<<endl;
}
 
 
void main ()
{setlocale (LC_ALL,"");
int n,m,k,l,**A,**B,i=1;
char file_name[20];
cout<<"введите имя файла в котором содержатся массивы: ";
cin>>file_name;
ifstream in (file_name);
//инициализация маccивa A
in>>n>>m;
A=new int *[n];
for(int i=0;i<m;++i)
A[i] = new int [i];
for (int i=0; i<m; i++)
    for (int j=0;j<n;j++)
        in>>A[i][j];
//инициализация маccивa B
in>>k>>l;
B=new int *[k];
for(int i=0;i<l;++i)
B[i] = new int [i];
for (int i=0; i<k; i++)
    for (int j=0;j<l;j++)
        in>>B[i][j];
 
while (1)
{
print_arr(n,m,A,k,l,B) ;
ptr menu[4]={NULL,arr_max,arr_min,arr_sred};
cout<<"\nМеню"<<
endl<<"1. максимальный элемент массива"<<
endl<<"2. минимальный элемент массива"<<
endl<<"3. среднее арифметическое"<<
endl<<"0. выход"<<endl;
cin>>i;
system ("cls");
if (i<0||i>3) cerr<<"Неверный пункт меню"<<endl;
else use (n,m,A,k,l,B,menu[i]);
}
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru