Предмет: Информатика, автор: Аноним

Напишите программу, печатающую количество максимальных элементов непустого массива. Язык С++

Ответы

Автор ответа: Guerrino
2

#include <iostream>

using namespace std;

int

main ()

{

 int n, i, t = 1, m, a[100]; \\ можно поставить свои ограничения;

 cin >> n;

 for (i = 0; i < n; i++)

   cin >> a[i];

 m = a[0] - 1;

 for (i = 0; i < n; i++)

   {

     if (a[i] > m)

{

  m = a[i];

  t = 0;

};

     if (a[i] == m)

t++;

   };

 cout << t;

 return 0;

}


dfdew: спс
dfdew: ht
vitya2birukov: можна пожалуйста немного объяснить за баллы (договоримся потом как перечислить)? с меня училка требует объяснений
vitya2birukov: мне кажется программа не правильная
vitya2birukov: Guerrino
объяснишь маленько за баллы? с меня училка требует объяснений
Guerrino: пусть r - наибольший элемент среди всех элементов массива и он стоит первый (если смотреть на массив слева направо). Тогда к тому моменту, когда мы к нему подойдем, счетчик обнулится (т.к. произойдет перезапись, ведь он наибольший элемент). Далее счетчик не будет перезаписываться, но при этом всякий раз когда будет встречать равный себе элемент, он увеличится на 1. Тем самым все наибольшие элементы будут посчитаны
Похожие вопросы