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

Задано масив цілих чисел A(n), n ≤ 300 . Розробити програму, яка обчислює



Добуток елементів цього масиву, якщо масив упорядкований за зростанням або



,Cуму якщо масив не упорядкований.

Масив буде упорядкованим за зростанням



якщо ai <= ai+1 для i = 1,2,...,n −1

Використовуючи контейнерний клас та ітератори для забезпечення доступу до елементів колекції.
на с++

Ответы

Ответ дал: kwickie6
0

#include <iostream>

#include <vector>

class ArrayProcessor {

private:

   std::vector<int> array;

public:

   ArrayProcessor(const std::vector<int>& inputArray) : array(inputArray) {}

   void processArray() {

       if (isArraySorted()) {

           int product = calculateProduct();

           std::cout << "Добуток елементів у впорядкованому масиві: " << product << std::endl;

       } else {

           int sum = calculateSum();

           std::cout << "Сума елементів у неупорядкованому масиві: " << sum << std::endl;

       }

   }

private:

   bool isArraySorted() const {

       for (auto it = array.begin(); it != array.end() - 1; ++it) {

           if (*it > *(it + 1)) {

               return false;

           }

       }

       return true;

   }

   int calculateProduct() const {

       int product = 1;

       for (auto it = array.begin(); it != array.end(); ++it) {

           product *= *it;

       }

       return product;

   }

   int calculateSum() const {

       int sum = 0;

       for (auto it = array.begin(); it != array.end(); ++it) {

           sum += *it;

       }

       return sum;

   }

};

int main() {

   std::vector<int> inputArray = {1, 2, 3, 4, 5};  // Ваш вхідний масив

   ArrayProcessor processor(inputArray);

   processor.processArray();

   return 0;

}

Вас заинтересует