• Предмет: Информатика
  • Автор: babidzhonme
  • Вопрос задан 3 месяца назад

На С++ ПОЖАЛУЙСТА: Дано цілі числа a1,...,an , де n – натуральне число. Якщо в даній послідовності жодне парне число не розташоване після непарного, то видалити у масиві всі від’ємні члени послідовності, інакше - все додатні. Порядок проходження чисел в обох випадках змінити на зворотний. Розв’язати задачу, користуючись статичним масивом.


babidzhonme: 30 баллов даю

Ответы

Ответ дал: vayvy8285
0

Ответ:

Объяснение:

#include <iostream>

const int MAX_SIZE = 100;

void reverseArray(int arr[], int size) {

   int start = 0;

   int end = size - 1;

   while (start < end) {

       // обмін елементів місцями

       int temp = arr[start];

       arr[start] = arr[end];

       arr[end] = temp;

       // переходимо до наступної пари елементів

       start++;

       end--;

   }

}

void processArray(int arr[], int size) {

   bool hasOddBeforeEven = false;

   // перевірка, чи непарне число передує парному

   for (int i = 0; i < size - 1; i++) {

       if (arr[i] % 2 != 0 && arr[i + 1] % 2 == 0) {

           hasOddBeforeEven = true;

           break;

       }

   }

   // видалення від'ємних або додатніх залежно від умови

   for (int i = 0; i < size; i++) {

       if ((hasOddBeforeEven && arr[i] > 0) || (!hasOddBeforeEven && arr[i] < 0)) {

           arr[i] = 0;  // можна також видалити елемент, якщо кількість елементів в масиві змінюється

       }

   }

   // зміна порядку елементів в масиві

   reverseArray(arr, size);

}

int main() {

   int n;

   std::cout << "Введіть розмір масиву: ";

   std::cin >> n;

   int arr[MAX_SIZE];

   std::cout << "Введіть елементи масиву: ";

   for (int i = 0; i < n; i++) {

       std::cin >> arr[i];

   }

   // обробка та виведення результатів

   processArray(arr, n);

   std::cout << "Результат: ";

   for (int i = 0; i < n; i++) {

       std::cout << arr[i] << " ";

   }

   return 0;

}


babidzhonme: гпт?
Вас заинтересует