C/C++

Программирование пожалуйста быстрее, и блок схему нужно тоже, помогите пожалуйста

В вещественном массиве s [10] поменять местами максимальный и минимальный элемент. Вывести массив до и после изменения
#include <iostream>
#include <array>
#include <random>
#include <algorithm>
#include <iterator>
#include <iomanip>
using namespace std;
template<typename Type, streamsize Size>
class Width {
public:
Width(Type value) : value(value) {}
private:
Type value;
friend ostream& operator<<(ostream& out, const Width<Type, Size>& w) {
return out << setw(Size) << w.value;
}
};
int main() {
mt19937_64 gen{ random_device()() };
uniform_real_distribution<double> urd(-10, 10);
array<double, 10> box;
generate(box.begin(), box.end(), [&] { return urd(gen); });
cout << fixed << setprecision(3);
const streamsize width = 7;
copy(box.begin(), box.end(), ostream_iterator<Width<double, width>>(cout, "\n"));
cout.put('\n');
auto [i_min, i_max] = minmax_element(box.begin(), box.end());
iter_swap(i_min, i_max);
copy(box.begin(), box.end(), ostream_iterator<Width<double, width>>(cout, "\n"));
system("pause > nul");
}
Виктор Саньжаев
Виктор Саньжаев
93 880
Лучший ответ
Как ещё вариант С++ 17:

#include < iostream >
#include < iterator >
#include < algorithm >
#include < random >
#include < vector >

using namespace std;

int main() {
const size_t size= 10;
const float f_lowLimit= 1.0;
const float f_hiLimit= 2.0;

mt19937 gen {random_device()()};
uniform_real_distribution<> dis(f_lowLimit, f_hiLimit);

vector< float > v(size);
generate(v.begin(),v.end(),[&] {return dis(gen);});

copy(v.begin(), v.end(), ostream_iterator< float >(cout, " "));

auto[v_min,v_max] = minmax_element(v.begin(), v.end());

cout << endl << "min:" << *v_min << endl << "max:"<< *v_max << endl;

swap(*v_min,*v_max);

copy(v.begin(), v.end(), ostream_iterator< float >(cout, " "));

return 0;
}

https://onlinegdb.com/HyvOXIEvw
Алексей Беляевский Спасибо, ещё лучше, ближе к тому, что мы на парах пишем
Алексей Беляевский Есть ещё варианты выполнения, говорят неправильно
Сколько платишь?
Алексей Беляевский Что??? Скок надо?