Gistrec

Решение простой контрольной[1]

Nov 16th, 2017
303
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.08 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.     setlocale(LC_ALL, "Russian"); // Установка русского языка в консоли
  7.     // Кол-во элементов в массиве
  8.     const int n = 5;
  9.     // Массив
  10.     int a[n];
  11.  
  12.     // Заполняем массив числами
  13.     for (int i = 0; i < n; i++) cin >> a[i];
  14.  
  15.     // Выводим содержимое массива
  16.     for (int i = 0; i < n; i++) cout << a[i] << ", ";
  17.     cout << endl;
  18.  
  19.  
  20.     // Задание 1: Произведение четных элементов массива
  21.     int result = 1;
  22.     for (int i = 0; i < n; i++) {
  23.         // Если i - четное, то умножем a[i] на result
  24.         if (i % 2 == 0) result *= a[i];
  25.     }
  26.     cout << "Произведение четных элементов массива " << result << endl;
  27.  
  28.     // Задание 2: Сумма элементов массива, расположенных между первым и последним нулевым элеентом
  29.     // Находим первый нулевой элемент
  30.     int from;
  31.     for (int i = 0; i < n; i++) {
  32.         // Как только нашли нулевой элемент - выходим из цикла
  33.         if (a[i] == 0) {
  34.             from = i;
  35.             break;
  36.         }
  37.     }
  38.     // Находим второй нулевой элемент
  39.     int to;
  40.     for (int i = n; i > 0; i--) {
  41.         // Как только нашли нулевой элемент - выходим из цикла
  42.         if (a[i] == 0) {
  43.             to = i;
  44.             break;
  45.         }
  46.     }
  47.     // Находим сумму элементов массива от from до to
  48.     result = 0;
  49.     for (int i = from; i < to; i++)
  50.         result += a[i];
  51.     cout << "Сумма элементов равна " << result << endl;
  52.  
  53.  
  54.     int flag = 1;
  55.     while (flag) {
  56.         flag = 0;
  57.         for (int i = 0; i<n - 1; i++) {
  58.             if (a[i]<a[i + 1]) {
  59.                 a[i] += a[i + 1];
  60.                 a[i + 1] = a[i] - a[i + 1];
  61.                 a[i] -= a[i + 1];
  62.                 flag = 1;
  63.             }
  64.         }
  65.     }
  66.     // Выводим содержимое массива
  67.     for (int i = 0; i<n; i++) cout << a[i] << ", ";
  68.     cout << endl;
  69.     system("pause");
  70. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment