Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нахождение максимального из повторяющихся элем. 
V
    Опции темы
LeD4eG
Дата 5.11.2010, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



оп-оп-оп!найдена ошибка в коде, приведённом мной. программа работает по непонятной мне логике: она находит просто максимальный элемент в матрице. в ходе испытаний это было доказано. 
ошибка находится  в операторе условия внутреннего цикла, т.е. вместо 
Код
 if(a[i1][j1]==a[imax][jmax]...
 необходимо проверять 
Код

if(a[i1][j1]==a[i][j]...


это вызвано тем, что в первом случае будет найден просто максимальный элемент, а во втором - проверяется, если элемент больше максимума, если в массиве найден ещё один такой же элемент, то это и есть максимальный из повторяющихся.
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
Dov
Дата 5.11.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Цитата(LeD4eG @  5.11.2010,  10:39 Найти цитируемый пост)
ошибка находится  в операторе условия внутреннего цикла


LeD4eG, у тебя там ещё море работы, так что не расслабляйся. 



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Bugmaker
Дата 5.11.2010, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Растянули элементарную задачу на 2 страницы.... может пора расслабится уже? )

Это сообщение отредактировал(а) Bugmaker - 5.11.2010, 12:35
PM MAIL   Вверх
LeD4eG
Дата 5.11.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



Цитата(Dov @  5.11.2010,  12:29 Найти цитируемый пост)
LeD4eG, у тебя там ещё море работы, так что не расслабляйся. 

на моём уровне пока сложно найти ещё ошибок, но я буду стараться smile 

Цитата(Bugmaker @  5.11.2010,  12:35 Найти цитируемый пост)
Растянули элементарную задачу на 2 страницы.... может пора расслабится уже? )

ну вопрос уже помечен решённым. просто хочется, чтобы для тех, кто также, как и я, не сможет решить эту элементарную задачу, было понятное решение. а вообще да, закругляемся.

Это сообщение отредактировал(а) LeD4eG - 5.11.2010, 12:55
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
Dov
Дата 5.11.2010, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Цитата(Bugmaker @  5.11.2010,  11:35 Найти цитируемый пост)
Растянули элементарную задачу на 2 страницы.... может пора расслабится уже? )

А никто и не напрягался...  smile  

Цитата(LeD4eG @  5.11.2010,  11:53 Найти цитируемый пост)
а вообще да, закругляемся.

LeD4eG,  тебе ещё рано закругляться, прога-то твоя не фурычит, так что работай и не обращай внимания нинакого.  Пописдеть все мастера..  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
LeD4eG
Дата 5.11.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



Цитата(Dov @  5.11.2010,  13:00 Найти цитируемый пост)
LeD4eG,  тебе ещё рано закругляться, прога-то твоя не фурычит, так что работай и не обращай внимания нинакого.  Пописдеть все мастера.. 

как так?теперь, вроде, работает....по поводу второй части - спасибо, приму к сведению. smile 
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
Dov
Дата 5.11.2010, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Цитата(LeD4eG @  5.11.2010,  12:11 Найти цитируемый пост)
как так?теперь, вроде, работает....

смотри здесь


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
LeD4eG
Дата 5.11.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



так. опять найдена ошибка. правильно, так получается, потому что в качестве максимального я беру первый элемент. если на этом месте стоит действительно максимальный элемент всей матрицы (не обязательно повторяющийся), тогда и возникает ошибка, в виду того, что ни один элемент матрицы его превзойти не может. эмм....я это понял.....только вот не знаю как этого избежать.....
просто приравнять максимальный нулю нельзя, потому что матрица может и из отрицательных чисел состоять.....

Это сообщение отредактировал(а) LeD4eG - 5.11.2010, 13:35
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
Dov
Дата 5.11.2010, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Цитата(LeD4eG @  5.11.2010,  12:28 Найти цитируемый пост)
только вот не знаю как этого избежать.....

я уже писал в своём первом посте,  читай внимательнее то, что тебе пишут:
Цитата(Dov @  26.10.2010,  00:18 Найти цитируемый пост)
а ты его не назначаешь максимальным, пока он не встретится второй раз... 

в моём коде это реализовано.. 





--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
LeD4eG
Дата 5.11.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



Dov, я всегда читаю направленные в мой адрес сообщения. но ЭТО НАПРАВЛЕННОЕ выходит за рамки понимания. да, возможно я туп. в виду своей умственной и интеллектуальной ограниченности привожу ещё один костыль. 
Код

int max=-32767;
    int imax, jmax;
    for(i=0;i<nrow;i++){
        for(j=0;j<ncol;j++){
            if(a[i][j]>max){
                for(int i1=0;i1<nrow;i1++){
                    for(int j1=0;j1<ncol;j1++){
                        if((a[i1][j1]==a[i][j])&&(i!=i1)&&(j!=j1)){
                            max=a[i][j];
                            imax=i;
                            jmax=j;}
                    }
                }
            }
        }
    }

пусть я услышу в свой адрес Boo!, но на нынешней стадии своего развития я ничего большего предложить не могу.

Это сообщение отредактировал(а) LeD4eG - 5.11.2010, 14:59
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
mes
Дата 5.11.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(LeD4eG @  5.11.2010,  13:41 Найти цитируемый пост)
int max=-32768;

INT_MIN : http://www.cplusplus.com/reference/clibrary/climits/

Цитата(LeD4eG @  5.11.2010,  13:41 Найти цитируемый пост)
int max=-32768;

подобным подходом Вы резервируете одно из значений под свои нужды, с гарантией, что такого числа не будет в матрице..
если ж такой гарантии нет, то заведите дополнительно флаг, о том, что уже есть хотя бы одно максимальное число.. 



Это сообщение отредактировал(а) mes - 5.11.2010, 14:54


--------------------
PM MAIL WWW   Вверх
LeD4eG
Дата 5.11.2010, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



mes
Цитата(mes @  5.11.2010,  14:52 Найти цитируемый пост)
int max=-32768;


sorry for this....
я такой гарантии дать не могу по причине того, что я ищу максимальное из повторяющихся. а не могу заранее сказать - будет ли это число повторяться.

кстати, Павловская Т.А. - min signed short int = -32768.......

Это сообщение отредактировал(а) LeD4eG - 5.11.2010, 15:13
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
mes
Дата 5.11.2010, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(LeD4eG @  5.11.2010,  14:08 Найти цитируемый пост)
я такой гарантии дать не могу 


Цитата(mes @  5.11.2010,  13:52 Найти цитируемый пост)
о заведите дополнительно флаг, о том, что уже есть хотя бы одно максимальное число.. 

применительно для вашего условия, "хотя бы одно парное число"..

Добавлено через 3 минуты и 31 секунду
Цитата(LeD4eG @  5.11.2010,  14:08 Найти цитируемый пост)
кстати, Павловская Т.А. - min signed short int = -32768.......

а матрица у Вас из шортов или интов ? а для инта тоже будете в справочник заглядывать ?
а Вы уверены что оно на другой платформе, будет сооответсвовать значению приведенному Павловской ?
а не боитесь опечаться, и потом не заметить ее ?

в общем пользуйтесь лимитами, и не надо будет напрягаться на лишние вопросы.. 
smile



--------------------
PM MAIL WWW   Вверх
LeD4eG
Дата 5.11.2010, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 29.9.2009
Где: Волгоград

Репутация: 1
Всего: 1



Цитата(mes @  5.11.2010,  15:23 Найти цитируемый пост)
применительно для вашего условия, "хотя бы одно парное число".. 

Код

int max=-32767;
bool flag_par=false;
    int imax, jmax;
    for(i=0;i<nrow;i++){
        for(j=0;j<ncol;j++){
            if(a[i][j]>max){
                for(int i1=0;i1<nrow;i1++){
                    for(int j1=0;j1<ncol;j1++){
                        if((a[i1][j1]==a[i][j])&&(i!=i1)&&(j!=j1)){
                            max=a[i][j];
                            imax=i;
                            jmax=j;
                            flag_par=true;}
                    }
                }
            }
        }
    }

так?
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
mes
Дата 5.11.2010, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



не совсем.. если flag == false просто ищете парное значение
если труе, то ищете только для тех, что превышают макс. 



--------------------
PM MAIL WWW   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1046 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.