ChameL1oN

2

Nov 24th, 2015
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. //1) Сформировать массив из n элементов.Количество элементов и их значения считываются из текстового файла.
  2. //2) Распечатать полученный массив.
  3. //3) Выполнить удаление все четные элементы из массива.
  4. //4) Вывести полученный результат в текстовый файл.
  5. //5) Выполнить добавление К элементов в конец массива(что вставлять запрашивать у пользователя) в массив.
  6. //6) Вывести полученный результат в текстовый файл.
  7. //7) Выполнить перестановку Положительные элементы переставить в начало массива, отрицательные - в конец в массиве.
  8. //8) Вывести полученный результат в текстовый файл.
  9. //9) Выполнить поиск Первый отрицательный.
  10. //10) Вывести полученный результат в текстовый файл.
  11. //11) Выполнить сортировку массива Шейкер по убыванию
  12. //12) Вывести полученный результат в текстовый файл.
  13. //13) Выполнить поиск Первый отрицательный в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента.
  14. //14) Вывести полученный результат в текстовый файл.
  15.  
  16. #include <fstream>
  17. #include <iostream>
  18. #include <locale>
  19.  
  20. using namespace std;
  21.  
  22. int n; //ГЛОБАЛЬНАЯ, ЧТОБЫ НЕ ЕБАТЬ МОЗГ
  23.  
  24. void Delete(int *mass){
  25. for (int i = n-1; i >= 0; i--)
  26. {
  27. if (mass[i] % 2 == 0){
  28. for (int j = i; j < n - 1; j++){
  29. mass[j] = mass[j + 1];
  30. }
  31. n--;
  32. }
  33. }
  34. }
  35.  
  36. void Add(int *mass){
  37. int K;
  38. cout << "K = ";
  39. cin >> K;
  40. n = n + K;
  41. for (int i = n-K; i < n; i++){
  42. cin >> mass[i];
  43. }
  44. }
  45.  
  46. void Swap(int *mass){
  47. int* mass2 = new int[n];
  48. int j = 0;
  49. int m = 0;
  50. for (int i = 0; i < n; i++){
  51. if (mass[i] >= 0){
  52. mass2[j] = mass[i];
  53. j++;
  54. }
  55. else{
  56. mass2[n - m] = mass[i];
  57. m++;
  58. }
  59. }
  60. for (int i = 0; i < n; i++){
  61. mass[i] = mass2[i];
  62. }
  63. }
  64.  
  65. void Find(int *mass){
  66.  
  67. }
  68. void sort_sheker(int *mass) {
  69. int left, right;
  70. double t;
  71. left = 0;
  72. right = n - 1;
  73. int flag = 1; // флаг наличия перемещений
  74. while ((left < right) && flag > 0) {
  75. flag = 0;
  76. for (int i = left; i<right; i++) { //двигаемся слева направо
  77. if (mass[i]<mass[i + 1]) {
  78. t = mass[i];
  79. mass[i] = mass[i + 1];
  80. mass[i + 1] = t;
  81. flag = 1;
  82. }
  83. }
  84. right--;
  85. for (int i = right; i>left; i--) { //двигаемся справа налево
  86. if (mass[i - 1]<mass[i]) {
  87. t = mass[i];
  88. mass[i] = mass[i - 1];
  89. mass[i - 1] = t;
  90. flag = 1;
  91. }
  92. }
  93. left++;
  94. }
  95. }
  96.  
  97.  
  98. void main(){
  99. ifstream f("input.txt", ios::in);
  100. f >> n;
  101. int* mass = new int[n];
  102. for (int i = 0; i < n; i++){
  103. f >> mass[i];
  104. cout << mass[i] << " ";
  105. }
  106. cout << endl;
  107. Delete(mass);
  108. for (int i = 0; i < n; i++){
  109. cout << mass[i] << " ";
  110. }
  111. cout << endl;
  112. Add(mass);
  113. for (int i = 0; i < n; i++){
  114. cout << mass[i] << " ";
  115. }
  116. cout << endl;
  117. Swap(mass);
  118. for (int i = 0; i < n; i++){
  119. cout << mass[i] << " ";
  120. }
  121. cout << endl;
  122. Find(mass);
  123. for (int i = 0; i < n; i++){
  124. cout << mass[i] << " ";
  125. }
  126. cout << endl;
  127. sort_sheker(mass);
  128. for (int i = 0; i < n; i++){
  129. cout << mass[i] << " ";
  130. }
  131. cout << endl;
  132. }
Advertisement
Add Comment
Please, Sign In to add comment