themlgyo

Untitled

Sep 27th, 2017
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. Нахождение минимального члена массива, суммы его элементов между первым и последним + элементом с последующим перестроением массива от - к +
  2.  
  3. #include <iostream>
  4. using namespace std;
  5. int main()
  6. {
  7.     setlocale(LC_ALL, "RUSSIAN");
  8.     int *arr;
  9.     int size;
  10.     cout << "Введите размер массива." << endl;
  11.     cout << "n= ";
  12.     cin >> size;
  13.     if (size <= 0) { // Задаем размер массива
  14.         cerr << "Размер массива должен быть положительным" << endl;
  15.         return 1;
  16.     }
  17.     arr = new int[size]; // Вводим элементы массива
  18.     for (int i = 0; i < size; i++) {
  19.         cout << "arr[" << i << "] = ";
  20.         cin >> arr[i];
  21.     }
  22.     int min = arr[0]; // Находим минимальный элемент  массива
  23.     for (int i = 1; i < size; i++) {
  24.         if (arr[i] < min) {
  25.             min = arr[i];
  26.         }
  27.     }
  28.     int s = 0;
  29.     int k, p, i;
  30.     for (i = 0; i<size; i++) { // Находим ПЕРВЫЙ положительный элемент массива
  31.         if (arr[i] > 0) {
  32.             k = i;
  33.             break;
  34.         }
  35.     }
  36.     for (i = size - 1; i >= 0; i--) // Находим ПОСЛЕДНИЙ положительный элемент массива
  37.         if (arr[i] > 0) {
  38.         p = i;
  39.         break;
  40.         }
  41.     for (i = k+1; i <= p-1; i++) { // Находим сумму между ними
  42.         s = s + arr[i];
  43.     }
  44.     int temp;
  45.     for (int i = 0; i<size; i++) // Перестраиваем массив
  46.     {
  47.         for (int j = i; j<size; j++)
  48.         {
  49.             if (arr[i] >= arr[j]) {
  50.                 temp = arr[i];
  51.                 arr[i] = arr[j];
  52.                 arr[j] = temp;
  53.             }
  54.         }
  55.     }
  56.     cout << " " << endl;
  57.     cout << "Минимальный элемент массива:  " << min << endl;
  58.     cout << " " << endl;
  59.     cout << "Сумма элементов между ПЕРВЫМ и ПОСЛЕДНИМ положительными элементами:  " << s << endl;
  60.     cout << " " << endl;
  61.     cout << endl << "Отсортированный массив: ";
  62.     for (int i = 0; i<size; i++) // Выводим перестроенный массив
  63.     {
  64.         cout << arr[i] << "  ";
  65.     }
  66.     delete[] arr;
  67.     return 0;
  68. }
Add Comment
Please, Sign In to add comment