C/C++

Программирования на C++

Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и найти в нем максимальный и минимальный элемент и их номер
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int ar[10],min=0,max=0,minindex,maxindex;
srand(time(NULL));
for(int i=0;i<10;i++)
{
ar[i]=rand()%21-10;
if(ar[i]>max)
{max=ar[i];maxindex=i;};

if(ar[i]<min)
{min=ar[i];minindex=i;};
printf("\n ar[%d]=%d",i,ar[i]);
}
printf("\nmax=%d,index=%d",max,maxindex);
printf("\nmin=%d,index=%d",min,minindex);
return 0;
}
Виталий Балахнин
Виталий Балахнин
37 945
Лучший ответ
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(){
 srand(time(NULL));
 int a[10], imax = 0, imin = 0;
 for(int i = 0; i < 10; cout << (a[i] = rand() % 21 - 10) << ' ', a[i] > a[imax] ? imax = i : a[i] < a[imin] ? imin = i : i, ++i);
 cout << endl << "Max = " << a[imax] << "; Index = " << imax << endl << "Min = " << a[imin] << "; Index = " << imin << endl;
}
Юрий Земсков
Юрий Земсков
65 495
#include <algorithm>
#include <iterator>
#include <iostream>
#include <random>
#include <iomanip>
using namespace std;
template<typename Type, streamsize Size>
class Output {
public:
Output(Type value) : value(value) {}
private:
Type value;
friend ostream& operator<<(ostream& out, const Output<Type, Size>& w) {
return out << setw(Size) << w.value;
}
};
int main() {
int box[10];
mt19937 gen{ random_device()() };
uniform_int_distribution<> uid(-10, 10);
auto rand = [&] { return uid(gen); };
generate(begin(box), end(box), rand);
const auto width = 4U;
copy(begin(box), end(box), ostream_iterator<Output<int, width>>(cout, ""));
puts("\n");
auto [imin, imax] = minmax_element(begin(box), end(box));
cout
<< " Min value: " << *imin << ", position: " << imin - begin(box) + 1 << '\n'
<< " Max value: " << *imax << ", position: " << imax - begin(box) + 1 << '\n';
system("pause > nul");
}