Advertisement
labyyysosaaat

Untitled

Sep 25th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int j = 1;
  4. int s = 0;
  5. int p;
  6. int k;
  7.  
  8. int main()
  9. {
  10.     setlocale(LC_ALL, "Russian");
  11.     int n;
  12.     cout << "Задайте количество элементов массива: " << endl;
  13.     cin >> n;
  14.     int* arr = new int[n];
  15.  
  16.  
  17.  
  18.  
  19.     if (n <= 0) {
  20.         cout << "Неверное значение" << endl;
  21.         system("pause");
  22.         return 0;
  23.     }
  24.     for (int i = 1; i < n + 1; i++)
  25.     {
  26.         cout << "a[" << i << "] = ";
  27.         cin >> arr[i];
  28.         if (i % 2 == 0)
  29.             j = arr[i] * j;
  30.  
  31.     }
  32.     cout << "Произведение чётных элементов массива =" << j << endl;
  33.  
  34.     for (int i = 1; i <= n; i++)
  35.     {
  36.         if (arr[i] == 0)
  37.         {
  38.             k = i;
  39.             break;
  40.         }
  41.         else {
  42.             k = 0;
  43.             cout << "Нулевой элемент не найден" << '\n';
  44.             break;
  45.         }
  46.  
  47.     }
  48.     if (k != 0) {
  49.  
  50.         for (int i = n; i >= 0; i--)
  51.             if (arr[i] == 0)
  52.             {
  53.                 p = i;
  54.                 break;
  55.             }
  56.             else {
  57.                 p = 0;
  58.                 cout << "нулевой элемент не найден" << '\n';
  59.                 break;
  60.             }
  61.     }
  62.     else {
  63.         p = 0;
  64.  
  65.     }
  66.     if (k != 0 && p != 0) {
  67.         for (int i = k; i <= p; i++)
  68.         {
  69.             s += arr[i];
  70.         }
  71.  
  72.         cout << "Сумма чисел между первым и последним нулевым элементом массива: " << s << endl;
  73.     }
  74.     //positive numbers come first
  75.     for (int i = n - 1; i > 0; i--) {
  76.         if (arr[i] <= 0) {
  77.             int temp = arr[i];
  78.             for (int j = i; j < n; j++) {
  79.                 arr[j] = arr[j + 1];  //move to the left every elements with greater index then i
  80.             }
  81.             arr[n] = temp;
  82.         }
  83.     }
  84.     cout << "Новый порядок элементов массива: ";
  85.     for (int i = 1; i < n + 1; i++) {
  86.         cout  << arr[i] << " ";
  87.     }
  88.  
  89.  
  90.  
  91.     system("pause");
  92.     return 0;
  93.     delete[] arr;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement