![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
LeD4eG |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 29.9.2009 Где: Волгоград Репутация: 1 Всего: 1 |
здравствуйте!
помогите, пожалуйста, с реализацией мысли. задача состоит в следующем: найти максимальный элемент из повторяющихся более одного раза в матрице из целых чисел произвольного размера. так как статус на форуме "новичок" соответствует моему статусу в С++, мной был получен следующий метод решения: 1. создаём в динамической памяти двумерный массив, вводим элементы и бла-бла-бла; 2. находим максимальный, проходим по матрице, если он встречается ещё раз, то он и будет максимальным из повторяющихся. но есть две проблемы: 1) это, мягко скажем, не совсем то, что требовалось в задаче; 2) я не знаю, что делать, если этот максимальный элемент второй раз не встретиться..... есть ещё соображения: 1. преобразовать матрицу в одномерный массив; 2. проходим каждый элемент и считаем сколько он раз встречается. 3. элементы, которые встречаются один раз удаляем (в ноль), повторения оставшихся элементов тоже удаляем. находим максимальный из оставшихся. также был такой план: 1. пройтись по матрице, найти повторяющиеся элементы и сохранить их в одномерный массив; 2. найти максимальный в одномерном массиве. но для второго и третьего варианта у меня не хватает опыта. чуть позже я кину код своих идей. но эти попытки провалились. читал схожие темы на нашем форуме. но создание векторов для меня слишком далеко.....поэтому не смог применить эти знания. помогите ![]() --------------------
Ты не успел стать для кого-то главным, кому-то очень нужным..... |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
||||
|
||||
vnf |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 9.2.2008 Репутация: нет Всего: 1 |
Вариант 3
Это сообщение отредактировал(а) vnf - 25.10.2010, 22:22 |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Можно перевести фразу "максимальный элемент из повторяющихся более одного раза в матрице" на более русский язык?
Добавлено через 3 минуты и 3 секунды Если речь о "последнем" (крайнем правом нижнем) максимальным, то все просто:
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
LeD4eG |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 29.9.2009 Где: Волгоград Репутация: 1 Всего: 1 |
в матрице есть группа повторяющихся более одного раза элементов. среди этих элементов найти максимальный. я не умею более по-русски. Добавлено через 1 минуту и 59 секунд да, в памяти он так и представляется. я думал представить массив этих массивов в один одномерный массив. --------------------
Ты не успел стать для кого-то главным, кому-то очень нужным..... |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
почему?
а ты его не назначаешь максимальным, пока он не встретится второй раз... -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
Bugmaker |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 27.6.2008 Репутация: нет Всего: нет |
Вообще напрашивается следующая мысль: пробегаем по матрице, и если встречается элемент, превышающий пременную max, то пробегаем по матрице еще раз и ищем встречается ли он там повторно. Если да, то переназначаем max, если нет - игнорируем.
Примерно так.
Думаю подход ясен. Коряво конечно, но работать будет) Модератор: Не забываем пользоваться кнопочкой "Код" Это сообщение отредактировал(а) bsa - 28.10.2010, 21:19 |
|||
|
||||
LeD4eG |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 29.9.2009 Где: Волгоград Репутация: 1 Всего: 1 |
результаты обработки предложений:
Bugmaker, я реализовал твоё предложение. вместе присваивания максимальному элементу значения 0, решил, что будет лучше запоминать индексы i,j максимального элемента, поскольку массив может состоять из отрицательных величин и этот метод не сработает. также подправил небольшую ошибку, которая сильно влияла на результат (максимальным получался первый элемент).чтобы не быть голословным код:
vnf, при реализации твоей метода (хотя стоит признаться, что я хотел его реализовать изначально) у меня получились странные результаты..... ![]() ![]()
почему я написал так: при попытке проходить по i и j=i+1 возникает ошибка о невозможности преобразования int* i в int. применял процедуру разыменования - компутер снова задумался..... я не знаю закрывать ли тему. в принципе задача решена. хоть и автор идеи считает, что его метод кривоват. я бы хотел всё-таки ещё попробовать реализовать и третий метод (находим повторяющиеся, записываем в массив находим там максимум) но всё равно спасибо всем, кто помог. --------------------
Ты не успел стать для кого-то главным, кому-то очень нужным..... |
||||
|
|||||
Crafty |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
|
||||
|
|||||
kamre |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 2 Всего: 13 |
Еще вариант:
|
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
легкие штрихи :
Это сообщение отредактировал(а) mes - 27.10.2010, 00:46 |
||||||
|
|||||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
LeD4eG |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 29.9.2009 Где: Волгоград Репутация: 1 Всего: 1 |
тема изучена и закрыта. спасибо всем за помощь!
![]() --------------------
Ты не успел стать для кого-то главным, кому-то очень нужным..... |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
Ещё немного подправил свой вариант.
|
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 11 Всего: 88 |
![]() Челу нужен двумерный динамический массив. Исходя из этого и нужно "подправлять". ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |