0 / 0 / 0
Регистрация: 18.04.2011
Сообщений: 13
|
|
1
|
ошибка Invalid indirection (связано с указателем)
19.04.2011, 14:11. Показов 710. Ответов 0
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
| #include "iostream.h"
#include "conio.h"
using namespace std;
int m; //незнаю нужно ли сюда
class mass
{
public: mass_A1(int *, int);
~mass();
void min_mass (int *,int);
void max_mass (int *,int);
void output_mass (void);
private:
int m[10];
};
mass::mass_A1(int *m, int size)
{ int mx = 9, mn = 1;
for(int i = 1; i <= size; i++)
{
m[i] = rand()%(mx-mn+1)+mn;
cout << "\Vvedite m["<<i<<"] element";
cin >> m[i];
}
}
// ìåòîä 1 min
void mass::min_mass(int *m, int size)
{
int mx = 9, mn = 1;
int min;
for(int i = 1; i <= size; i++)
{
m[i] = rand()%(mx-mn+1)+mn;
}
for(int i = 1; i <= size; i++)
{
min=m[1];
if (m[i]<=min) min=m[i];
}
cout<<"Minimal'niy element = "<<min;
}
// ìåòîä 2 max
void mass::max_mass(int *m, int size)
{
int mx = 9, mn = 1;
int max;
for(int i = 1; i <= size; i++)
{
m[i] = rand()%(mx-mn+1)+mn;
}
for(int i = 1; i <= size; i++)
{
max=m[1];
if (m[i]>=max) max=m[i];
}
cout<<"Maximal'niy element = "<<max;
}
void mass::output_mass()
{ int size; cout<<"===Vyvod=massiva===";
for(int i = 1; i <= size; i++)
{
cout<<"Vyvod. m["<<i<<"element= "<<m[i];
}
}
int main()
{ int size;
mass A1;
cout<<"Enter size: ";
cin>>size;
A1.mass_A1(*m,size); // [B]тут пишет Invalid indirection[/B]
A1.min_mass(*m, size); // вывод функции min
A1.max_mass(*m, size); // max
A1.output_mass(); // вывод массива
getch();
return 0;
} |
|
Я с указателями не в ладах, помогите решить
Добавлено через 1 час 36 минут
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
| #include "vcl.h"
#include "iostream.h"
#include "conio.h"
using namespace std;
class mass
{
public: mass_A1(int); // ïðîòîòèï ÿâíîãî êîíñòðóêòîðà êëàññà mass äëÿ âûâîäà åëåìåíòîâ ìàññèâà ðàíäîìîì
//~mass(); // ïðîòîòèï ÿâíîãî äåñòðóêòîðà êëàññà mass
void min_mass (int);
void max_mass (int);
void output_mass (void);
private:
int m[10];
};
// Îïðåäåëåíèå ÿâíîãî êîíñòðóêòîðà
mass::mass_A1(int size)
{ int mx = 9, mn = 1;
for(int i = 1; i <= size; i++)
{
m[i] = rand()%(mx-mn+1)+mn;
cout << "\Vvedite m["<<i<<"] element";
cin >> m[i];
}
}
// ìåòîä 1 min
void mass::min_mass(int size)
{
int mx = 9, mn = 1;
int min;
for(int i = 1; i <= size; i++)
{
m[i] = rand()%(mx-mn+1)+mn;
}
for(int i = 1; i <= size; i++)
{
min=m[1];
if (m[i]<=min) min=m[i];
}
cout<<"Minimal'niy element = "<<min;
}
// ìåòîä 2 max
void mass::max_mass(int size)
{
int mx = 9, mn = 1;
int max;
for(int i = 1; i <= size; i++)
{
m[i] = rand()%(mx-mn+1)+mn;
}
for(int i = 1; i <= size; i++)
{
max=m[1];
if (m[i]>=max) max=m[i];
}
cout<<"Maximal'niy element = "<<max;
}
// âûâîä ýëåìåíòîâ ìàññèâà
void mass::output_mass()
{ int size; cout<<"===Vyvod=massiva===";
for(int i = 1; i <= size; i++)
{
cout<<"Vyvod. "<<i<<"element= "<<m[i];
}
}
int main()
{ int size;
mass A1; // âûçûâàþòñÿ íåÿâíûé, à çàòåì ÿâíûé êîíñòðóêòîðû
cout<<"Enter size: ";
cin>>size;
A1.mass_A1(size);
A1.min_mass(size); // âûçûâàåòñÿ ôóíêöèÿ-÷ëåí ïîèñêà min
A1.max_mass(size); // âûçûâàåòñÿ ôóíêöèÿ-÷ëåí ïîèñêà max
A1.output_mass(); // âûçûâàåòñÿ ôóíêöèÿ-÷ëåí ïîèñêà max
getch();
return 0;
} |
|
Изменил код.. при компиляции зацикливает.. помогите решить уже эту проблемку =) буду очень благодарен
0
|