C/C++

C++ задача с массивом

Используя рандомные числа найдите наибольший элемент одномерного массива
Vadim Chikishev
Vadim Chikishev
79
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <iostream>
using namespace std; int main()
{ int i, j = 0, n, max = -100; cout << "n: "; cin >> n;
int *A = new int [n]; srand(time(NULL));
for (i = 0; i < n; i++) { A[i] = rand() % 199 - 99;
cout << setw(4) << A[i]; j++; if (j == 10) { j = 0;
cout << endl; } if (A[i] > max) max = A[i]; }
if (j) cout << endl; cout << "Max = " << max
<< ", №"; for (i = 0; i < n; i++) if (A[i] == max)
cout << ' ' << i + 1 << ';'; cout << endl; delete [] A;
cin.get(); cin.get(); return 0; }
Массив длины n (длина n вводится с экрана) заполняется псевдо-случайными числами из диапазона [-99;99]. Ищется значение максимального элемента, потом оно выводится на экран, а вслед за ним выводятся все номера элементов с максимальным значением.
Владимир Зворыгин
Владимир Зворыгин
66 572
Лучший ответ
#include <iostream>
#include <algorithm>

int main()
{
int A[10];
for (auto& i : A) std::cout << (i = rand() % 101 - 50) << " ";
std::cout << "\nMax_element = " << * std::max_element(A, A + 10);
}
Андрей Реймер
Андрей Реймер
51 416
1. Заполнить массив случайными числами.
2. Объявить переменную _max с минимальным значением (например, INT_MIN).
3. Бежать по массиву, сравнивая элементы с _max. Если a[i] > _max, то _max = a[i].
4. cout << _max.