===== PascalABC.NET =====
function ЧислоВторыхМаксимумов(a: array of integer) :=
a.GroupBy(p -> p) // сгруппировали одинаковые
.Select(p -> (p.Count, p.Key)) // создали кортежи (кол, значение)
.OrderByDescending(p -> p[1]) // отсортировали по убыванию значений
.Skip(1) // пропустили первый элемент
.Take(1) // взяли только второй элемент
.Select(p -> p[0]); // выделили из кортежа количество
begin
var n:=ReadInteger('n ='); // длина массива
var a:=ArrRandom(n, 1, 10); // инициализируем массив
a.Println; // выводим его
ЧислоВторыхМаксимумов(a).Println // вызываем функцию, выводим результат
end.