Задано масив цілих чисел A(n), n ≤ 300 . Розробити програму, яка обчислює
Добуток елементів цього масиву, якщо масив упорядкований за зростанням або
,Cуму якщо масив не упорядкований.
Масив буде упорядкованим за зростанням
якщо ai <= ai+1 для i = 1,2,...,n −1
Використовуючи контейнерний клас та ітератори для забезпечення доступу до елементів колекції.
на с++
Ответы
#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;
}