Дано одновимірний масив. Збільшити у 2 рази елементи, які розміщені у масиві між найбільшим та найменшим його елементами.
C++
Ответы
Ответ:
Ось приклад коду на C++, який реалізує дану задачу:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
const int N = 10; // розмір масиву
int a[N] = {2, 8, 3, 7, 1, 9, 5, 4, 6, 0}; // масив з випадковими значеннями
int max_idx = distance(a, max_element(a, a + N)); // індекс найбільшого елементу масиву
int min_idx = distance(a, min_element(a, a + N)); // індекс найменшого елементу масиву
if (max_idx > min_idx) {
for (int i = min_idx + 1; i < max_idx; i++) {
a[i] *= 2; // збільшуємо значення елемента в 2 рази
}
} else {
for (int i = max_idx + 1; i < min_idx; i++) {
a[i] *= 2; // збільшуємо значення елемента в 2 рази
}
}
// виводимо змінений масив на екран
for (int i = 0; i < N; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
Объяснение:
Спочатку ми знаходимо індекс найбільшого та найменшого елементів масиву за допомогою стандартних функцій max_element та min_element. Далі, якщо індекс найбільшого елемента менший за індекс найменшого елемента, ми збільшуємо значення елементів масиву між цими індексами. Якщо ж індекс найменшого елемента менший за індекс найбільшого елемента, то збільшуємо значення елементів між ними. Нарешті, виводимо змінений масив на екран.
МОЖНО ЛУЧШИЙ ОТВЕТ