C/C++

Задание массивы c++

Пользователь вводит размерность массива и его элементы. Найти в массиве позицию максимального элемента и вывести ее на экран. Вычислить количество нечётных элементов и вывести его на экран. Заменить в массиве все двузначные элементы на 9, вывести полученный массив на экран. Найти последний нечётный элемент массива.
#include <iostream>
using namespace std;
int main() {
system("chcp 1251 > nul");
cout << "Введите размер массива: ";
size_t n;
cin >> n;
auto box = new int[n];
cout << "Введите элементы массива: ";
for (auto i = 0U; i < n; ++i) {
cin >> box[i];
}
auto max = box[0];
auto pos = 1U;
for (auto i = 1U; i < n; ++i) {
if (max < box[i]) {
max = box[i];
pos = i + 1U;
}
}
cout << "Позиция максимального элемента в массиве: " << pos << '\n';
auto odds = 0U;
for (auto i = 0U; i < n; ++i) {
if (box[i] & 1) {
++odds;
}
}
cout << "Количество нечётных элеменов в масииве: " << odds << '\n';
const auto nine = 9;
for (auto i = 0U; i < n; ++i) {
if (box[i] > 9 && box[i] < 100) {
box[i] = nine;
}
}
puts("Массив после замен: ");
for (auto i = 0U; i < n; ++i) {
cout << box[i] << ' ';
}
puts("");
auto last = static_cast<int>(n - 1);
while ((~box[last] & 1) && last >= 0) {
--last;
}
if (last >= 0) {
cout << "Последний нечётный элемент в массиве: " << box[last] << '\n';
} else {
puts("Массив не содержит нечётных элементов!");
}
delete[] box;
system("pause > nul");
}
DR
Dmitry Rofor
76 716
Лучший ответ
Реши сама это задание. Можешь решить не с массивом, а с std::vector. тогда это будет полезный опыт.
Валерий Иванов Задача как раз и заключается в том, чтобы с массивом решить, а не через обходные пути