Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main() {
- setlocale(LC_ALL, "rus");
- int* T;
- int* B;
- int n;
- printf("Введите длину массива (0 < n <= 12): ");
- while (!(cin >> n) || (cin.peek() != '\n') || (n <= 0 || n > 12)) {
- cin.clear();
- while (cin.get() != '\n');
- printf("Введите длину массива (0 < n <= 12): ");
- }
- T = new int[n];
- int temp, max = T[0], n_of_max = 0;
- for (int i = 0; i < n; i++) {
- cout << "T[" << i << "] = ";
- while (!(cin >> T[i]) || (cin.peek() != '\n')) {
- cin.clear();
- while (cin.get() != '\n');
- cout << "T[" << i << "] = ";
- }
- if (T[i] > max) {
- max = T[i];
- n_of_max = i;
- }
- }
- B = new int[n_of_max];
- for (int i = 0; i < n_of_max; i++)
- B[i] = T[i];
- cout << "\nМассив T: ";
- for (int i = 0; i < n; i++)
- cout << T[i] << " ";
- for (int i = 0; i < n; ++i) { // Сортировка методом выбора
- int pos = i;
- temp = T[i];
- for (int j = i + 1; j < n; ++j) {
- if (T[j] > temp) {
- pos = j;
- temp = T[j];
- }
- }
- T[pos] = T[i];
- T[i] = temp;
- }
- cout << "\nОтсортированный массив T: ";
- for (int i = 0; i < n; i++)
- cout << T[i] << " ";
- cout << "\n\nМассив B, состоящий из элементов массива T, предшествующих наибольшему элементу: ";
- for (int i = 0; i < n_of_max; i++)
- cout << B[i] << " ";
- temp = B[n_of_max - 1];
- for (int i = n_of_max - 1; i > 0; i--)
- B[i] = B[i - 1];
- B[0] = temp;
- cout << "\nМассив B, сдвинутый вправо на 1: ";
- for (int i = 0; i < n_of_max; i++)
- cout << B[i] << " ";
- }
Add Comment
Please, Sign In to add comment