С++.Дано количество частей n, и сам массив а[i]. Необходимо найти 2
С++.
Дано количество частей n, и сам массив а[i]. Необходимо отыскать 2 максимальных числа и вывести их сумму.
к примеру n=5, a[i]= 1 2 3 4 5, sum=4+5=9
n=5, a[i]= 1 2 3 4 4, sum=4+4=8.
помогите исправить код)
include lt;iostreamgt;
using namespace std;
int main()
int n,max0=0,ind=0,max1= -2147483647;
/* n - размер массива, max0 - 1-ый максимальный элемент, ind - индекс первого наибольшего , max1 - второй максимальный элемент */
cin gt;gt; n;
int *a = new int[n]; // указатель на динамический массив типа int и размера n.
for (int i = 0; i lt; n; i++)
if ((cin gt;gt; a[i], a[i]) gt; max0 i == 0)
/*(cin gt;gt; a[i], a[i]) - присваивание число массиву и сходу же проверка его на максимум. */
/* Обязательное условие i == 0, тк max0 может быть и отрицательным, поэтому в любом случае при первой итерации максимумом будет первый элемент.*/
max0 = a[i];
ind = i;
for (int i = 0; i lt; n; i++)
if (i != ind amp;amp; a[i] gt; max1) max1 = a[i];
/* поиск второго максимума, непременное условие (i != ind) */
cout lt;lt; max0 + max1;
delete[] a; // удаление из памяти массив a
return 0;
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.