Advertisement
daniil_mironoff

Ex. 4.13 (1)

May 21st, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.36 KB | None | 0 0
  1. // ЗАДАНИЕ 4.13 (1)
  2. // Задан массив действительных чисел.
  3. // Определить, сколько раз меняется знак в данной последовательности чисел,
  4. // напечатать номера позиций, в которых происходит смена знака.
  5.  
  6. #include <iostream>     // Для ВВОДА и ВЫВОДА
  7.  
  8. using namespace std;    // ПРОСТРАНСТВО ИМЁН
  9.  
  10. int main() {
  11.     int size;                       // Размер массива
  12.     int count = 0;                      // Счётчик минусов
  13.    
  14.     // Ввод размерма массива
  15.     cout << "Enter size array: ";
  16.     cin >> size;
  17.    
  18.     int * arr = new int[size];      // Объявление массива
  19.    
  20.     // Ввод первого элемента (*)
  21.     cout << "Enter 1 element: ";
  22.     cin >> arr[0];
  23.    
  24.     // Заполнение массива
  25.     for (int i = 1; size > i; i++) {
  26.         cout << "Enter " << i + 1 << " element: ";
  27.         cin >> arr[i];
  28.        
  29.         if (arr[i] < 0 && arr[i - 1] >= 0) {
  30.             // Если текущее значение отрицательное,
  31.             // а прошлое значение было положительным:
  32.             count++;
  33.         } else if (arr[i] >= 0 && arr[i - 1] < 0) {
  34.             // Если текущее значение положительное,
  35.             // а прошлое значение было отрицательным:
  36.             count++;
  37.         }
  38.     }
  39.    
  40.    
  41.     cout << endl;
  42.    
  43.     // Вывод count
  44.     cout << "Count: " << count << endl;
  45.  
  46.     cout << "Index's:";
  47.    
  48.     // Поиск смен знаков
  49.     for (int i = 1; size > i; i++) {
  50.         if (arr[i] < 0 && arr[i - 1] >= 0) {
  51.             // Если текущее значение отрицательное,
  52.             // а прошлое значение было положительным:
  53.             cout << " " << i + 1;
  54.         } else if (arr[i] >= 0 && arr[i - 1] < 0) {
  55.             // Если текущее значение положительное,
  56.             // а прошлое значение было отрицательным:
  57.             cout << " " << i + 1;
  58.         }
  59.     }
  60.    
  61.     cout << endl;
  62.  
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement