ProgNeo

Untitled

Nov 23rd, 2021 (edited)
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. int main() {
  7. setlocale(LC_ALL, "rus");
  8.  
  9. int* T;
  10. int* B;
  11.  
  12. int n;
  13.  
  14. printf("Введите длину массива (0 < n <= 12): ");
  15. while (!(cin >> n) || (cin.peek() != '\n') || (n <= 0 || n > 12)) {
  16. cin.clear();
  17. while (cin.get() != '\n');
  18. printf("Введите длину массива (0 < n <= 12): ");
  19. }
  20.  
  21. T = new int[n];
  22.  
  23. int temp, max = T[0], n_of_max = 0;
  24.  
  25. for (int i = 0; i < n; i++) {
  26. cout << "T[" << i << "] = ";
  27. while (!(cin >> T[i]) || (cin.peek() != '\n')) {
  28. cin.clear();
  29. while (cin.get() != '\n');
  30. cout << "T[" << i << "] = ";
  31. }
  32. if (T[i] > max) {
  33. max = T[i];
  34. n_of_max = i;
  35. }
  36. }
  37.  
  38. B = new int[n_of_max];
  39. for (int i = 0; i < n_of_max; i++)
  40. B[i] = T[i];
  41.  
  42. cout << "\nМассив T: ";
  43. for (int i = 0; i < n; i++)
  44. cout << T[i] << " ";
  45.  
  46. for (int i = 0; i < n; ++i) { // Сортировка методом выбора
  47. int pos = i;
  48. temp = T[i];
  49. for (int j = i + 1; j < n; ++j) {
  50. if (T[j] > temp) {
  51. pos = j;
  52. temp = T[j];
  53. }
  54. }
  55. T[pos] = T[i];
  56. T[i] = temp;
  57. }
  58.  
  59. cout << "\nОтсортированный массив T: ";
  60. for (int i = 0; i < n; i++)
  61. cout << T[i] << " ";
  62.  
  63.  
  64. cout << "\n\nМассив B, состоящий из элементов массива T, предшествующих наибольшему элементу: ";
  65. for (int i = 0; i < n_of_max; i++)
  66. cout << B[i] << " ";
  67.  
  68. temp = B[n_of_max - 1];
  69. for (int i = n_of_max - 1; i > 0; i--)
  70. B[i] = B[i - 1];
  71. B[0] = temp;
  72.  
  73. cout << "\nМассив B, сдвинутый вправо на 1: ";
  74. for (int i = 0; i < n_of_max; i++)
  75. cout << B[i] << " ";
  76. }
  77.  
Add Comment
Please, Sign In to add comment