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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
| #include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
int main(int argc, char** arg)
{
setlocale(LC_ALL,"RUS");
int i, j, k, n, h, m, min, n_min, t;
srand(time(NULL));
cout << "Введите количество элементов массива:"<<" ";
cin >> n;
int *a = new int [n];
for (i = 0; i < n; i++)
{
a[i] = rand() % 100 - 50;
cout << a[i] << " ";
}
tryAgain:
cout << "\n" << "Выберите действие, которое хотите выполнить:" << "\n"
<< "1) Удаление минимального элемента;" << "\n"
<< "2) Добавление К элементов в конец массива;" << "\n"
<< "3) Сдвинуть циклически на M элементов вправо;" << "\n"
<< "4) Поиск первого отрицательного элемента;" << "\n"
<< "5) Отсортировать массив методом простого выбора" << endl;
int c;
cin >> c;
switch (c)
{
case 1:
cout << "Удаление минимального элемента: " << endl;
min = a[0], m = 0;
for (i = 0; i < n; i++)
if (a[i] < min) min = a[i], m = i;
for (i = 0; i<n; i++)
if(i >= m) a[i] = a[i+1];
n--;
for (i = 0; i<n; i++)
cout << a[i] << " ";
cout << endl << "Выбор действия - 1) Продолжить; 2) Закончить" << endl;
cin >> h;
if (h == 1) goto tryAgain;
break; // case 1
// -------------------------------------------------------
case 2:
cout << "Введите кол-во элементов, которое необходимо добавить в конец массива: ";
cin >> k;
for (i = n + k - 1; i >= n; i--) a[i] = rand() % 100 - 50;
for (i = 0; i < n + k; i++) cout << a[i] << " ";
cout << endl << "Выбор действия - 1) Продолжить; 2) Закончить" << endl;
cin >> h;
if (h == 1) goto tryAgain;
break; // case 2
// -------------------------------------------------------
case 3:
cout << endl << "Введите М: ";
cin >> m;
for(i = 0; i < m; i++)
{
for(j = n - 1; j >= 0; j--)
if (j == n - 1) t = a[n - 1];
else a[j + 1] = a[j];
a[0] = t;
} // for
cout << "Результат: " << endl;
for (i = 0; i < n; i++) cout << a[i] << ' ';
cout << endl << "Выбор действия - 1) Продолжить; 2) Закончить" << endl;
cin >> h;
if (h == 1) goto tryAgain;
break; // case 3
// -------------------------------------------------------
case 4:
for (i = 0; i < n; i++)
if (a[i] < 0)
{
cout << "Первый отрицательный элемент: " << "" << a[i];
break;
}
cout << endl << "Выбор действия - 1) Продолжить; 2) Закончить" << endl;
cin >> h;
if (h == 1) goto tryAgain;
break; // case 4
// -------------------------------------------------------
case 5:
for(i = 0; i < n - 1; i++)
{
min = a[i], n_min = i;
for(j = i + 1; j < n; j++)
if(a[j] < min) min = a[j], n_min = j;
a[n_min] = a[i], a[i] = min;
} // for
cout << endl << "Отсортированный массив: " << endl;
for (i = 0; i<n; i++) cout << a[i] << " ";
cout << endl << "Выбор действия - 1) Продолжить; 2) Закончить" << endl;
cin >> h;
if (h == 1) goto tryAgain;
break; // case 5
default: goto tryAgain;
} // switch
return 0;
} // main() |