C/C++

Массив функции c++ помогите

Написать функцию, определяющую минимум и максимум
(значение и номер) элементов передаваемого ей массива.
код:
#include <iostream>
//#include <Windows.h>
//#include <conio.h>
#define хочу_функцию (main)
using namespace std;

double mas[16];
int k; //переменная k для количество
void vvod_massiv()
{
int i;
cout << "Кол-во вводимых елементов - ";
cin >> k;
for (i = 0; i < k; i++)
{
cout << "Элемент " << i + 1 << endl;
cin >> mas[i];
}

}
void vivod_massiv()
{
cout << "\nВаш массив: \n";
for (int i = 0; i < k; i++)
{
cout << mas[i] << " ";
}

}
void sred_arif_and_max()
{
int sred;
double max;
max = mas[0];
for (int i =1; i < k; i++)
{
if (mas[i] > max) max = mas[i];
}
for (int i = 0; i < k; i++)
{
sred += mas[i];
}
cout << "минимальная=елементов " <<sred/k<< endl;
cout << "Максимальный елементов в массиве = " << max << endl;
}
int хочу_функцию()
{
vvod_massiv();
sred_arif_and_max();
vivod_massiv();
//system("PAUSE");
}
#include <iostream>

using namespace std;

void poisk(float *massive,int mas_lenght,int &max_index,int &min_index, float &max, float &min){
max_index=min_index=0;
max=min=massive[0];
for(int i=0; i<mas_lenght; i++){
if(massive[i]>max){
max=massive[i];
max_index=i;
}
if(massive[i]<min){
min=massive[i];
min_index=i;
}
}
}

int main()
{
setlocale(LC_ALL,"");
float mas[]={12.45,234,7,-88.8,0,22.3};
int min_index,max_index;
float max,min;
poisk(mas,sizeof(mas)/sizeof(mas[0]),max_index,min_index,max,min);
cout << "Номер максимума:" << max_index+1 << endl;
cout << "Максимум:" << max << endl;
cout << "Номер минимума:" << min_index+1 << endl;
cout << "Минимум:" << min << endl;
return 0;
}
Достан Абрашев
Достан Абрашев
6 039
Лучший ответ
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <random>
#include <cstdlib>
#include <iterator>
using namespace std;
template<typename T>
pair<T*, T*> element_minmax(T* start, T* stop) {
return minmax_element(start, stop);
}
int main() {
system("chcp 1251 > nul");
uniform_int_distribution<> uid(100, 999);
mt19937 gen{ random_device()() };
auto rand = [&] { return uid(gen) / 100.0; };
cout << "Введите количество элементов массива: ";
size_t length;
cin >> length;
auto box = new double[length];
auto stop = box + length;
generate(box, stop, rand);
cout.setf(ios::fixed);
cout.precision(2);
cout << "Массив: ";
copy(box, stop, ostream_iterator<double>(cout, " "));
puts("");
auto [pmin, pmax] = element_minmax(box, stop);
cout
<< "Минимальный элемент: " << *pmin
<< ", его номер: " << distance(box, pmin) + 1 << '\n'
<< "Максимальный элемент: " << *pmax
<< ", его номер: " << distance(box, pmax) + 1 << '\n';
delete[] box;
system("pause > nul");
}
Олег Московченко вполне норм но ты использовал шаблоны там не сказано шаблоны а то только функция ну это ладн.