Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2009, 20:21   #1
xxSINxx
 
Регистрация: 04.03.2009
Сообщений: 3
По умолчанию Проверка на наличие нескольких максимальныхэлементов

Здравствуйте, мне в программе надо в матрице найти максимальный элемент, а если их несколько то вывести сообщение об этом.
Подскажите как осуществить проверку на наличие нескольких макс элементов
xxSINxx вне форума Ответить с цитированием
Старый 11.03.2009, 20:30   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

xxSINxx
Сначала находите максимум. Затем проходите по матрице и сравниваете это значение с каждым элементом. Если равны, то увеличиваете счетчик (который сначала равен нулю). После этого, если счетчик >1, то максимумов несколько.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.03.2009, 20:34   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

xxSINxx, а как максимальный найти знаете? :-)
варианта два:
простой — "в лоб" второй раз пройти в цикле по массиву, считая сколько элементов совпадает с найденным при первом проходе максимальным элементом.

второй, намного эффективнее, но сложнее (пишу здесь, как иллюстрация мысли):
Код:
MaxM := MinInt;
CountDoubleMax := 0;
for i:=1 to MatrizaSize do
  if M[i]>MaxM then begin
    MaxM := M[i];
    CountDoubleMax := 1;
  end
  else if M[i] = MaxM then Inc(CountDoubleMax);
end;
WriteLn('Максимальное значение ',MaxM:1,' встречается ',CountDoubleMax:1,' раз.');
Добавлено.
Sazary, не успеешь за Вами! Коллега, опять Вы меня опередили! :D
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.03.2009, 20:40   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Serge_Bliznykov, у вас, все-таки, поинтереснее будет )
ps Я тут тоже часто за другими не успеваю )

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка нажатия конкретной клавиши (или нескольких клавиш) в реальном времени ROD Общие вопросы C/C++ 2 15.01.2009 13:11
проверяем наличие счета Romuald Microsoft Office Excel 2 14.01.2009 12:44
Проверка на наличие таблицы в БД Ramires БД в Delphi 3 18.12.2008 08:59
Определить наличие коммента softrix Microsoft Office Excel 2 28.04.2008 23:01
наличие определенного свойства у контрола Toxa Общие вопросы Delphi 5 03.09.2007 16:54