Advertisement
Guest User

Untitled

a guest
Nov 5th, 2017
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <locale>
  4. #include <time.h>
  5. #include <cstdlib>
  6. using namespace std;
  7. void vvod(int a[], int n);
  8. void generac(int a[], int n);
  9. void vivod(int a[], int n);
  10. void vivod1(int a[], int n);
  11. void vivod2(int a[], int n);
  12. void vivod3(int a[], int n);
  13. void vivod4(int a[], int n);
  14. void vivod5(int a[], int n);
  15. void vivod6(int a[], int n);
  16. void vivod7(int a[], int n);
  17. void vivod8(int a[], int n);
  18. void vivod9(int a[], int n);
  19. void vivod10(int a[], int n);
  20. void vivod11(int a[], int n);a
  21. void main()
  22. {
  23.     srand((unsigned)time(NULL));
  24.     setlocale(0, "");
  25.     int a[20];
  26.     int n, k;
  27.     signed int y = 0, u = 0, p, summ = 0;
  28.     cout << "введите количество элементов массива";
  29.     cin >> n;
  30.     do {
  31.         cout << "1. Ввод массива a" << endl;
  32.         cout << "2. Генетация элементов массива a" << endl;
  33.         cout << "3. Вычисление среднего арифметического значения элементов массива и замена положительных элементов массива целой частью от среднего арифметического значения" << endl;
  34.         cout << "4. Вычисление минимального элемента. Вычисление максимального элемента. Замена всех элементов равных максимальному элементу значением минимального элемента." << endl;
  35.         cout << "5.Найти минимальный элемент. Найти максимальный элемент. Заменить все элементы, стоящие между минимальным и максимальным элементом - нулями" << endl;
  36.         cout << "6. Найти количество положительных элементов в массиве. Заменить все четные элементы массива на их индексы." << endl;
  37.         cout << "7. Найти минимальный элемент. Найти количество элементов имеющих минимальное значение. Удалить все минимальные элементы из массива" << endl;
  38.         cout << "8.Найти первый отрицательный элемент в массиве. Найти сумму отрицательных элементов. Заменить все элементы, стоящие перед первым отрицательным элементом на сумму отрицательных элементов." << endl;
  39.         cout << "9. Найти минимальный элемент среди элементов, имеющих четный индекс. Найти минимальный элемент среди элементов, имеющих нечетный индекс. Заменить все элементы, стоящие между этими минимальными элементами на их индексы" << endl;
  40.         cout << "10. Найти минимальный элемент среди положительных элементов массива. Заменить все отрицательные элементы массива на этот минимальный элемент элементов массива" << endl;
  41.         cout << "11. Найти второй по порядку минимальный элемент. Заменить все элементы, кратные трем, на этот элемент" << endl;
  42.         cout << "12. Найти минимальный элемент. Вставить после минимального элемента его индекс" << endl;
  43.         cout << "13. Найти максимальный элемент. Найти количество элементов имеющих максимальное. Удалить все максимальные элементы из массива" << endl;
  44.         cout << "14.Найти количество элементов, стоящих после последнего отрицательного элемента в массиве. Вставить после этого элемента найденное количество." << endl;
  45.         cout << "15. Конец работы" << endl;
  46.         cout << "Укажите номер пункта меню";
  47.         cin >> k;
  48.         switch (k) {
  49.         case 1:
  50.             vvod(a, n);
  51.             break;
  52.         case 2:
  53.             vivod(a, n);
  54.             break;
  55.         case 3:
  56.             generac(a, n);
  57.             break;
  58.         case 4:
  59.             vivod1(a, n);
  60.             break;
  61.         case 5:
  62.             vivod2(a, n);
  63.             break;
  64.         case 6:
  65.             vivod3(a, n);
  66.             break;
  67.         case 7:
  68.             vivod4(a, n);
  69.             break;
  70.         case 8:
  71.             vivod5(a, n);
  72.             break;
  73.         case 9:
  74.             vivod6(a, n);
  75.             break;
  76.         case 10:
  77.             vivod7(a, n);
  78.             break;
  79.         case 11:
  80.             vivod8(a, n);
  81.             break;
  82.         case 12:
  83.             vivod9(a, n);
  84.             break;
  85.         case 13:
  86.             vivod10(a, n);
  87.             break;
  88.         case 14:
  89.             vivod11(a, n);
  90.             break;
  91.         case 15:
  92.             cout << "Конец работы" << endl;
  93.             break;
  94.         default:
  95.             cout << "Такого пункта нет" << endl;
  96.         }
  97.         if (k == 15)
  98.             break;
  99.     } while (true);
  100.     _getch();
  101. }
  102. //ВВОД
  103. void vvod(int a[], int n)
  104. {
  105.     cout << "Введите элементы массива" << endl;
  106.     for (int i = 0; i < n; i++)
  107.         cin >> a[i];
  108. }
  109. //ВЫВОД
  110. void vivod(int a[], int n)
  111. {
  112.     cout << "Массив a" << endl;
  113.     for (int i = 0; i < n; i++)
  114.         cout << a[i] << "\t";
  115.     cout << endl;
  116. }
  117. // 3Вычисление среднего арифметического значения элементов массива и замена положительных элементов массива целой частью от среднего арифметического значения
  118. void generac(int a[], int n)
  119. {
  120. }
  121. //4Вычисление минимального элемента. Вычисление максимального элемента. Замена всех элементов равных максимальному элементу значением минимального элемента.
  122. // ycnex
  123. void vivod1(int a[], int y, int u, int n)
  124. {
  125.     cout << "Введите элементы массива" << endl;
  126.     for (int i = 0; i < n; i++)
  127.         cin >> a[i];
  128.  
  129.     for (int i = 0; i < n; i++) {
  130.  
  131.         if (a[i] > y) {
  132.             y = a[i];
  133.         }
  134.         else if (a[i] < y) {
  135.             u = a[i];
  136.         }
  137.         else if (a[i] = y) {
  138.             a[i] = u;
  139.         }
  140.         cout << a[i] << "\t";
  141.     }
  142. }
  143. //5Найти минимальный элемент. Найти максимальный элемент. Заменить все элементы, стоящие между минимальным и максимальным элементом - нулями.
  144. //ycnex
  145. void vivod2(int a[], int y, int u, int n)
  146. {
  147.     for (int i = 0; i < n; i++) {
  148.  
  149.         if (a[i] > y) {
  150.             y = a[i];
  151.         }
  152.         else if (a[i] = y) {
  153.             a[i] = 0;
  154.         }
  155.         else if (a[i] < y) {
  156.             u = a[i];
  157.         }
  158.         cout << a[i] << "\t";
  159.     }
  160. }
  161. //6Найти количество положительных элементов в массиве. Заменить все четные элементы массива на их индексы.
  162. void vivod3(int a[], int n)
  163. {
  164.     for (int i = 0; i < n; i++) {
  165.         if (a[i] % 2 == 0) {
  166.             cout << i;
  167.         }
  168.         else {
  169.             cout << a[i] << "\t";
  170.         }
  171.     }
  172. }
  173. //7Найти минимальный элемент. Найти количество элементов имеющих минимальное значение. Удалить все минимальные элементы из массива
  174. void vivod4(int a[], int p, int u, int n)
  175. {
  176.     for (int i = 0; i < n; i++) {
  177.         if (a[i] <= u) {
  178.             p++;
  179.             u = a[i];
  180.             cout << u << "\n";
  181.         }
  182.         u = 0;
  183.         cout << p << "\n";
  184.         cout << a[i] << "\t";
  185.     }
  186. }
  187. //8Найти первый отрицательный элемент в массиве. Найти сумму отрицательных элементов. Заменить все элементы, стоящие перед первым отрицательным элементом на сумму отрицательных элементов.
  188. //hemhai
  189. void vivod5(int a[], int n, int u, int summ)
  190. {
  191. }
  192.  
  193. //9Найти минимальный элемент среди элементов, имеющих четный индекс. Найти минимальный элемент среди элементов, имеющих нечетный индекс. Заменить все элементы, стоящие между этими минимальными элементами на их индексы.
  194. void vivod6(int a[], int i, int u, int n)
  195. {
  196.     for (int i = 0; i < n; i++) {
  197.         if (i % 2) {
  198.             if (a[i] <= u) {
  199.                 a[i] = u;
  200.             }
  201.         }
  202.         else {
  203.             if (a[i] <= u) {
  204.                 a[i] = u;
  205.             }
  206.         }
  207.     }
  208.     cout << a[i] << "\t";
  209. }
  210. //10Найти минимальный элемент среди положительных элементов массива. Заменить все отрицательные элементы массива на этот минимальный элемент.
  211. void vivod7(int a[], int i, int n, int y)
  212. {
  213.     for (int i = 0; i < n; i++) {
  214.         if (a[i] <= y && a[i] >= 0) {
  215.             y = a[i];
  216.         }
  217.         {
  218.             if (a[i] < 0)
  219.                 a[i] = y;
  220.         }
  221.     }
  222.     cout << a[i] << "\t";
  223. }
  224. //11Найти второй по порядку минимальный элемент. Заменить все элементы, кратные трем, на этот элемент.
  225. void vivod8(int a[], int u, int n, int p, int)
  226. {
  227.     for (int i = 0; i < n; i++) {
  228.         if (a[i] <= u) {
  229.             u = a[i];
  230.             p++;
  231.             if (p == 2) {
  232.                 if (a[i] % 3) {
  233.                     a[i] = u;
  234.                 }
  235.             }
  236.         }
  237.         cout << a[i] << "\t";
  238.     }
  239. }
  240. //12Найти минимальный элемент. Вставить после минимального элемента его индекс.
  241. void vivod9(int a[], int u, int n)
  242. {
  243.     for (int i = 0; i < n; i++) {
  244.         if (a[i] <= u) {
  245.             u = a[i];
  246.         }
  247.         else {
  248.             a[i] = 0;
  249.         }
  250.         cout << a[i] << "\t";
  251.     }
  252. }
  253. //13Найти максимальный элемент. Найти количество элементов имеющих максимальное. Удалить все максимальные элементы из массива
  254. void vivod10(int a[], int u, int i, int n)
  255. {
  256.     for (int i = 0; i < n; i++) {
  257.         if (a[i] >= u) {
  258.             u = a[i];
  259.         }
  260.     }
  261.     if (a[i] = u) {
  262.         a[i] = 0;
  263.     }
  264.     cout << a[i] << "\t";
  265. }
  266. //14Найти количество элементов, стоящих после последнего отрицательного элемента в массиве. Вставить после этого элемента найденное количество.
  267. void vivod11(int a[], int n)
  268. {
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement