Strelkov18
30.08.2022 22:44

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Ekaterina2019
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-бота