Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. using namespace std;
  4.  
  5. void minMax(int *m, int size, int index)
  6. {
  7.     // Создаем переменные для максимума минимума и их индексов
  8.     int minIndex = 0;
  9.     int min = m[0];
  10.     int maxIndex = 0;
  11.     int max = m[0];
  12.  
  13.     for (int i = 0; i < size; i++)
  14.     {
  15.         if (i < index)// Если в первой половине массива, то ищем максимум
  16.         {
  17.             if (m[i] > max)
  18.             {
  19.                 max = m[i];
  20.                 maxIndex = i;
  21.             }
  22.         }
  23.         else if (i > index)// Если во второй половине массива, то ищем минимум
  24.         {
  25.             if (m[i] < min)
  26.             {
  27.                 min = m[i];
  28.                 minIndex = i;
  29.             }
  30.         }
  31.     }
  32.  
  33.     // Выводим данные
  34.     cout << "Max: " << max << "  Index: " << maxIndex << endl;
  35.     cout << "Min: " << min << "  Index: " << minIndex << endl;
  36. }
  37.  
  38.  
  39. int main()
  40. {
  41.     srand(time(0));
  42.     const int size = 10;
  43.     int *arr = new int[size];
  44.  
  45.     // Заполняем массив случайными числами
  46.     for (int i = 0; i < size; i++)
  47.     {
  48.         arr[i] = rand() % 100;
  49.     }
  50.  
  51.     // Отрисовываем массив
  52.     for (int i = 0; i < size; i++)
  53.         cout << arr[i] << "  ";
  54.  
  55.     int border = 0;
  56.    
  57.  
  58.     // Находим индекс пограничного элемента
  59.     int index = -1;
  60.    
  61.     while (true)
  62.     {
  63.         cout << "\nEnter border element" << endl;
  64.         cin >> border;
  65.  
  66.         for (int i = 0; i < size; i++)
  67.         {
  68.             if (arr[i] == border)
  69.             {
  70.                 index = i;
  71.                 break;
  72.             }
  73.         }
  74.  
  75.         if (index == -1)
  76.         {
  77.             cout << "You need to enter element in range" << endl;
  78.             continue;
  79.         }
  80.         else
  81.             break;
  82.     }
  83.  
  84.     minMax(arr, size, index);// Вызов функции для поиска макс и мин
  85.  
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement