Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Pascal
Перезагрузить страницу Помогите разобраться!
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
aragost
Guest
 
Сообщений: n/a
По умолчанию 16.11.2008, 19:46

собственно задача вот в чём состоит:
дана матрица размерности n*m. в каждой строке найти элемент,модуль которого ближе к (max+ min)/2 ,где max и min максимальный и минимальный элемент строки.
в выводе матрицы и нахождения мин и макс чисел в строке разобрался,а вот как найти модуль элемента который ближе всего к (max+ min)/2 не понимаю...
помогите решить, тк я в проганье не особо шарю.заранее спасибо
Ответить с цитированием
  (#2 (permalink)) Старый
night-stels night-stels вне форума
Member
 
Сообщений: 440
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.08.2008
По умолчанию 17.11.2008, 12:48

Раз ты уже знаешь максимальный и минимальный элемент строки, то:
1.Присваиваешь переменной Raz очень большое значение (например 65535).
2.В цикле от первого до последнего элемента строки проверяешь
Код:
   if Abs((max+min)/2 - Abs(Element)) < Raz then
        begin
           Raz := ((max+min)/2 - Abs(Element));
          {тут еще нужно запомнить индекс элемента}
        end;
тут Element - элемент строки, который мы проверяем.
Ответить с цитированием
  (#3 (permalink)) Старый
programer4ever programer4ever вне форума
Member
 
Сообщений: 326
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.04.2006
По умолчанию 18.11.2008, 23:51

Предлагаю немного поменять решение - нужно переменной Raz присвоить разницу между средним арифметическим наибольшого и наименьшего чисел и первым елементом. Так будет более правильно, так как там могут быть числа и больше 65535 (конечно если тип позволяет)
Ответить с цитированием
  (#4 (permalink)) Старый
night-stels night-stels вне форума
Member
 
Сообщений: 440
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.08.2008
По умолчанию 19.11.2008, 15:08

ну да. так обычно и делают. просто есть константы, которые дефайнят максимально допустимые значения для типа. Так проще. Я не написал, т.к. не помню как эти константы в паскале называются.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться! daschyl4ik Любые вопросы от новичков 7 03.05.2012 09:37
Помогите разобраться Александр 26 Корпуса 4 18.04.2012 20:53
Помогите разобраться! Александр4010 Любые вопросы от новичков 3 05.02.2012 16:00
Помогите разобраться Старший техник Любые вопросы от новичков 3 18.12.2011 00:28
помогите разобраться sbo898 Любые вопросы от новичков 6 30.11.2011 11:58
помогите разобраться gena111 Любые вопросы от новичков 9 18.08.2011 16:26
помогите разобраться виктор67 Любые вопросы от новичков 1 15.07.2011 00:31
помогите разобраться!!! rafikusss Любые вопросы от новичков 16 19.12.2010 02:07
Помогите разобраться с DVI?????? OleDjuice Видеокарты 3 27.11.2009 01:32
Помогите разобраться! OSOBOOPASEN Память 7 25.03.2009 19:42
Помогите разобраться! imported_Moloko Pascal 3 29.10.2008 19:45
Помогите разобраться! Irk-Max3 Техническая поддержка 2 22.08.2007 16:12



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов