С++, помогите решить задачу с массивами


В первой строке входных данных вводится натуральное число N, не превосходящее 100.

В следующей строке вводятся N целых чисел через пробел - элементы массива. Каждое число по модулю не превосходит 109.

Формат выходных данных
Выводите "Min", если в массиве первым встретится минимум и "Max", если максимум.

Примечания
В задачу нужно отправить только описанный фрагмент кода.
--------------
5
4 3 6 1 2
Max
83
-854 631 -866 -558 -597 -940 -671 410 194 -771 -897 -733 -805 395 669 613 -637 -646 -877 -632 530 -255 642 -34 63 372 -406 -747 -471 -912 527 547 -297 -729 -310 -118 5 560 -487 -555 156 -476 221 -797 -64 -844 -289 -566 13 -663 824 773 -155 17 -803 457 -222 861 -643 -106 -714 695 -125 916 81 -561 -605 954 549 -811 -768 -748 -607 95 373 639 -307 685 -889 -441 110 -822 -696
Min​

Приложения:

damskiyugodnik43: ты девочка?
abrikoks: нет.
damskiyugodnik43: не расстраивайся
abrikoks: м?
restIess: а динамические нельзя память выделить? надо именно по коду из приложения действовать?
abrikoks: да
abrikoks: их приложения
abrikoks: из*

Ответы

Ответ дал: restIess
0

Здесь ничего не написано про случай, если максимум = минимуму, поэтому его не учитываем.

Идея программы: просто ищем индекс первого максимального и первого минимального, а затем сравниваем их

Фрагмент кода:

int max = a[0], min = a[0];

int i_max = 0, i_min = 0;

for (int i = 1; i < n; i++) {

 if (a[i] > max) {  

  max = a[i];

  i_max = i;

 }

 if (a[i] < min) {

  min = a[i];

  i_min = min;

 }

}

if (i_max > i_min)

 cout << "MAX";

else if (i_min > i_max)

 cout << "MIN";

Похожие вопросы