include iostream include stdio include stdlib include time include под

 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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// include подключает необходимые библиотеки
using namespace std; // современные компиляторы требует указания области имён
int* create_array(int size) // функция для создания массива
{ // принимает число - размер массива, возвращает указатель на него
srand(time(NULL)); // инициируем генератор случайных числе текщем временем
int *array = new int[size]; // собственно создаём массив
for (int i = 0; i < size; i++) // пробегаемся циклом по нему
{
array[i] = rand() % 50; // присваивая каждому элементу число от 0 до 50
}
return array; // возвращем указатель
}
void print_array(int *array, int size) // функция для отображения массива
{ // принимает указатель на массив и его размер
for (int i = 0; i < size; i++)
{
cout << array[i] << "\t"; // выводи разделяя элементы табом
}
cout << endl; // перенос строки
}
void reverse(int *array, int size) // функция переворачивания
{ // принимает указатель на массив и его размер
int temp; // предопределяем временную переменную
for (int i = 0; i < size/2; i++) // цикл от 0 до размер массива на 2
{
temp = array[i]; // надеюсь, тут понятно
array[i] = array[size-i-1];
array[size-i-1] = temp;
}
}
void delete_item(int *array, int &size) // удаление среднего элемента
{ // принимает указатель на массив и указатель на размер
if (size % 2 == 1) // проверяем чётное или нечётное колличество элементов
{
int *buff = new int[size-1]; // временный массив
int j = 0;
for (int i = 0; i < size; i++) // копируем наш массив во временный
{
if (size/2 != i) // все кроме среднего элемента
{
buff[j] = array[i];
j += 1;
}
}
delete [] array; // удаляем наш массив
array = new int[size-1]; // на то же место создаём новый
for (int i = 0; i < size; i++) // копируем временный
{
array[i] = buff[i];
}
delete[] buff; // удаляем временный
}
}
int main()
{
int size;
cout << "Enter size of array: "; // просим ввести число элементов
cin >> size; // ну и считываем его в size
int *array = create_array(size);
print_array(array, size);
reverse(array, size);
print_array(array, size);
delete_item(array, size);
print_array(array, size);
delete [] array;
return 1;
}