Меню

Обратная связь

Сейчас на сайте

•Сейчас• •15 гостей• •онлайн•

Авторизация



Назад...

Использование метода перебора

 

Рассмотрим примеры использования метода перебора.

Метод заключается в переборе всех элементов с помощью цикла и анализа значений согласно поставленной задачи.

 

Пример 1. Нахождение количества элементов массива, равных числу b:

k:=0;

for i:=1 to n do

if a[i]=b then

k:=k+1;

 

Пример 2. Дано N чисел на координатной прямой. Определите пару чисел, наиболее близких друг к другу. Выведите на экран расстояние между ними и их номера.

 

Возможный алгоритм решения.

 

1. Задаем числа, которые будем хранить в массиве.

read(n);

for i:=1 to n do

read(a[i]);

 

2. Нужно запоминать возможное наименьшее расстояние и номера чисел в порядке их ввода. Зададим начальные значения. Пусть наименьшее между первой и второй. Высчитаем расстояние и запомним номера.

d:=abs(a[1]-a[2]);
n1:=1;
n2:=2;

3. Выполняем обработку информации, используя перебор элементов циклом в цикле.

for i:=1 to n-1 do

for j:=i+1 to n do

if abs(a[i]-a[j]) < d

begin

n1:=i;

n2:=j;

d:=abs(a[i]-a[j]);

end;

writeln(d);

writeln(n1,' ',n2);

 

 

 

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


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

 

Полный текст программы:


Var

a : array[1..100] of real;

i,j,n,n1,n2 : integer;

d : real;

Begin

 

read(n);

for i:=1 to n do

read(a[i]);

 

d:=abs(a[1]-a[2]);

n1:=1;

n2:=2;

 

for i:=1 to n-1 do

for j:=i+1 to n do

if abs(a[i]-a[j]) < d

begin

n1:=i;

n2:=j;

d:=abs(a[i]-a[j]);

end;

 

writeln(d);

writeln(n1,' ',n2);

end.

 

•Информация о профиле•

Application afterLoad: 0.002 seconds, 0.37 MB
Application afterInitialise: 0.043 seconds, 1.98 MB
Application afterRoute: 0.048 seconds, 2.33 MB
Application afterDispatch: 0.089 seconds, 3.01 MB
Application afterRender: 0.130 seconds, 3.60 MB

•Использование памяти•

3846624

•Зарегистрировано запросов: 20•

  1. SELECT *
      FROM jos_session
      WHERE session_id = 'vi4p57kvcucu6phjubg6dkrlk7'
  2. DELETE
      FROM jos_session
      WHERE ( time < '1743711854' )
  3. SELECT *
      FROM jos_session
      WHERE session_id = 'vi4p57kvcucu6phjubg6dkrlk7'
  4. INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` )
      VALUES ( 'vi4p57kvcucu6phjubg6dkrlk7','1743715454','','0','1','0' )
  5. SELECT *
      FROM jos_components
      WHERE parent = 0
  6. SELECT folder AS type, element AS name, params
      FROM jos_plugins
      WHERE published >= 1
      AND access <= 0
      ORDER BY ordering
  7. SELECT *
      FROM jos_migration_backlinks
      WHERE url LIKE '2015-01-05-23-14-32/2015-01-05-23-57-10/83.html%' OR sefurl LIKE '2015-01-05-23-14-32/2015-01-05-23-57-10/83.html%'
  8. SELECT template
      FROM jos_templates_menu
      WHERE client_id = 0
      AND (menuid = 0 OR menuid = 130)
      ORDER BY menuid DESC
      LIMIT 0, 1
  9. SELECT id, title, module, position, content, showtitle, control, params
      FROM jos_modules AS m
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      WHERE m.published = 1
      AND m.access <= 0
      AND m.client_id = 0
      AND ( mm.menuid = 130 OR mm.menuid = 0 )
      ORDER BY position, ordering
  10. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='mod_maximenu_CK'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  11. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  12. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='uth_proc'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  13. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  14. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='Olimp'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  15. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  16. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='obr_sv'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  17. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  18. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='raznoe'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  19. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  20. SELECT guest, usertype, client_id
      FROM jos_session
      WHERE client_id = 0

•Языковые файлы загружены•

  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.plg_system_debug.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.com_content.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.tpl_MY_sh.ini
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/en-GB/en-GB.tpl_MY_sh.ini
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_maximenu_CK.ini
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/en-GB/en-GB.mod_maximenu_CK.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_whosonline.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_login.ini 1
  • /var/www/user13295/data/www/ssa.lel-gimnazia.by/language/ru-RU/ru-RU.mod_breadcrumbs.ini 1

•Диагностика непереведённых строк•

•Нет•

•Дизайнер непереведённых строк•

•Нет•