Создать класс содержащий динамический массив количество элементов нем

 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
/*Создать класс, содержащий динамический массив
и количество элементов в нем. Добавить конструктор,
который выделяет память под заданное количество элементов,
и деструктор. Добавить методы, позволяющие заполнять массив
случайными числами, переставлять в данном массиве элементы
в случайном порядке, находить количество различных элементов
в массиве, выводить массив на экран.*/
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class A
{
int* mas;
int n;
public:
A()
{
}
A(int s)
{
n = s;
mas = new int[n];
for (int i = 0 ; i<n; i++)
mas[i] = i;
}
void fill_random()
{
// srand (time(NULL));
for (int i = 0 ; i<n; i++)
mas[i] = rand() % 10;
}
void rand_shuffle()
{
int t,c;
for (int i = 0 ; i<n; i++)
{
t = rand()%n; // i = рандомное число от 0 до 9
c = mas[0]; //пузырьковая сортировка
mas[0] = mas[t];
mas[t] = c;
}
}
void show()
{
for (int i = 0 ; i<n; i++)
cout<<mas[i]<<'\t';
cout<<endl;
}
~A()
{
delete mas;
}
};
int main()
{
srand (time(NULL));
A t(8);
t.show();
t.rand_shuffle();
t.show();
t.rand_shuffle();
t.show();
t.rand_shuffle();
t.show();
return 0;
}