MariyaSavinkova
16.04.2020 01:47

Дан одномерный массив из n целых чисел требуется написать функцию которая посчитает сколько раз в этом массиве встречается элементы следующий за максимальным в порядке убывания. формат входных данных массив должен быть введен с клавиатуры.
пример: 6 10 10 12 8 1 #элементы массива
2 # два раза встретился второй максимум

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
dashani7562
10.10.2020 15:03

===== 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.  


Дан одномерный массив из n целых чисел требуется написать функцию которая посчитает сколько раз в эт
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота