![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Ivan51 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 21.12.2016 Репутация: нет Всего: нет |
Дан упорядоченный массив целых чисел. Напечатать элемент, повторяющийся в массиве чаще всего, а также количество повторений. Если есть несколько элементов, повторяющихся одинаковое число раз, выбрать любой из них.
|
|||
|
||||
likehood |
|
|||
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Не знаешь с чего начать? Для начала заведи переменную-счётчик, в которой будет храниться число идущих подряд одинаковых элементов.
Пройдись по всему массиву, сравнивая текущий элемент с предыдущим. Если они равны, смело увеличивай счётчик на единицу. Если нет, счётчик нужно сбросить в начальное состояние. Пройдись по программе отладчиком, убедись, что она работает правильно. А дальше останется найти максимальное значение этого счётчика - это уже несложно сделать. Если есть вопросы - спрашивай. |
|||
|
||||
Olej |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.11.2016 Репутация: нет Всего: нет |
А что, в условии было хоть 2 слова про что-то там "подряд"? ![]() Я что-то пропустил? |
|||
|
||||
baldman88 |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: 1 Всего: 7 |
А какой язык? С или С++?
Добавлено через 3 минуты и 33 секунды
|
||||||
|
|||||||
Ivan51 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 21.12.2016 Репутация: нет Всего: нет |
C++
|
|||
|
||||
vpf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 14.11.2016 Где: Moscow Репутация: нет Всего: нет |
Надо создать новый двухмерный массив, в котором каждая пара элементов это число и количество повторений.
Затем перебрать исходный массив, алгоритм такой 1. Есть ли во втором массиве такое число? 1.1 Нет, создать новую пару, значение числа = число, значение счетчика = 1. 1.2 Да, значение счетчика увеличить на 1 2. Пройтись по второму массиву и найти наибольшее значение счетчика. 2.1 Значение счетчика найдено. Вывести значение числа. Все. Это сообщение отредактировал(а) vpf - 22.12.2016, 13:42 |
|||
|
||||
likehood |
|
|||
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
vpf, твой алгоритм подходит для произвольного массива. Если массив упорядочен, то алгоритм можно немного упростить. Только нужно ли это автору вопроса? Может он просто хотел получить готовую программу. А мы тут советы какие-то даём.
|
|||
|
||||
solowey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 24.11.2009 Репутация: нет Всего: нет |
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
Можно лучше, но пофиг) Это сообщение отредактировал(а) Dmi3ev - 9.1.2017, 02:43 -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |