Помогите написать программу С++
Написать программу обработки массивов
данных используя пользовательскую функцию или структуру.
Дан массив размера N. Описать функцию нахождения минимального из его
локальных максимумов. Локальный максимум это элемент, который больше
своих соседей.
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
123456789101112131415161718192021222324252627282930
#include <iostream>
using namespace std;
int* locale_min(int* box, const size_t n) {
if (!box || n < 3) return nullptr;
int* pos = nullptr;
auto a = box[0];
auto b = box[1];
for (size_t i = 2; i < n; ++i) {
auto c = box[i];
if (b < a && b < c) {
if (pos && *pos > b) pos = &box[i - 1];
else pos = &box[i - 1];
}
a = b;
b = c;
}
return pos;
}
int main() {
cout << "N: ";
int n;
cin >> n;
auto box = new int[n];
cout << "Elements: ";
for (size_t i = 0; i < n; ++i) cin >> box[i];
auto pos = locale_min(box, n);
if (pos == nullptr) puts("Not found!");
else cout << "Local min: " << *pos << '\n';
delete[] box;
}
Больше по теме