#include <iostream>
#include <time.h>
#include <algorithm>
using namespace std;
int* input_array_auto(int* arr, int n) {
for (size_t i = 0; i < n; i++)
{
arr[i] = rand() % 10 + 1;
}
return arr;
}
int* input_array(int* arr, int n) {
for (size_t i = 0; i < n; i++)
{
cin >> arr[i];
}
return arr;
}
void print_array(int* arr, int n) {
for (size_t i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
bool check_odd(int elem) {
return elem % 2 == 1 ? true : false;
}
int find_last_odd (int* arr, int n) {
int last_odd = 0;
for (size_t i = 0; i < n; i++)
{
if (check_odd(arr[i])) {
last_odd = arr[i];
}
}
return last_odd;
}
int* overwriting_minima_array(int* arr, int n, int min, int last_odd) {
for (size_t i = 0; i < n; i++)
{
if (arr[i] == min) {
arr[i] = arr[i] + last_odd;
}
}
return arr;
}
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(NULL));
int n;
cout << "Введите N: ";
cin >> n;
int* arr = new int[n];
arr = input_array_auto(arr, n);
print_array(arr, n);
int *min = min_element(arr, arr + n);
int last_odd = find_last_odd(arr, n);
arr = overwriting_minima_array(arr, n, *min, last_odd);
print_array(arr, n);
}