Меню

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

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

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

Авторизация



Назад...


Поиск элементов массива по определенным условиям.


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

 

Пример 1. Найдем количество положительных элементов массива. Размер массива N.

Var

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

i,k : integer;

Begin

read(n);                        // вводим размер массива

for i:=1 to n do          //

read(a[i]);                     // вводим значения элементов

k:=0;                           //  начальное количество 0

for i:=1 to n do           //

if a[i]>0 then             //  проверяем условие положительности

k:=k+1;                   //  увеличиваем количество на 1

writeln(k);                  // вывод результата

end.

 

Пример 2. Найдем максимальный элемент массива. Размер массива N.

Var

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

i, max : integer;

Begin

read(n);                        // вводим размер массива

for i:=1 to n do           //

read(a[i]);                     // вводим значения элементов

max:=a[1];                  //  возможный максимальный первый элемент

for i:=2 to n do           // делаем перебор всех элементов

if a[i]>max then             //  проверяем условие максимальности текущего

max:=a[i];                   //  увеличиваем количество на 1

writeln(max);                  // вывод результата

end.

 

Чтобы найти минимальный элемент, достаточно изменить знак в условии проверки.

 

Пример 3. Найдем количество элементов массива, равных числу B. Размер массива N.

Var

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

i, b, k : integer;

Begin

read(n);                        // вводим размер массива

read(b);                               // вводим число b

for i:=1 to n do           //

read(a[i]);                     // вводим значения элементов

k:=0;                           //  в начале количество равно нулю

for i:=1 to n do           // делаем перебор всех элементов

if a[i]=b then             //  проверяем условие равенства

k:=k+1;                   //  увеличиваем количество на 1

writeln(k);                  // вывод результата

end.

 

ВАЖНО понять и запомнить части программы (я называю их базовыми конструкциями программы), уметь сделать нужные изменения для решения задачи.

Отмечу пример условий:

Условие на Pascal

Элемент массива четный

a[i] mod 2=0

Элемент массива не четный

a[i] mod 2=1

Элемент массива кратный 3

a[i] mod 3=0

Целое число трехзначное

(a[i]>99) and (a[i]<1000)

Положительный элемент массива с четным индексом

(a[i]>0) and (i mod 2=0)

Натуральное число не двузначное

(a[i]99)

Трехзначное число, кратное 7

(a[i]>99) and (a[i]<1000) and (a[i] mod 7=0)

Разность соседних элементов массива меньше числа b

(a[i]-a[i-1])

 

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

Application afterLoad: 0.001 seconds, 0.30 MB
Application afterInitialise: 0.037 seconds, 0.97 MB
Application afterRoute: 0.044 seconds, 1.22 MB
Application afterDispatch: 0.079 seconds, 1.89 MB
Application afterRender: 0.109 seconds, 2.24 MB

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

2384936

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

  1. SELECT *
      FROM jos_session
      WHERE session_id = '41m5n5c5ibott9bmfm3sk0ln11'
  2. DELETE
      FROM jos_session
      WHERE ( time < '1732178673' )
  3. SELECT *
      FROM jos_session
      WHERE session_id = '41m5n5c5ibott9bmfm3sk0ln11'
  4. INSERT INTO `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` )
      VALUES ( '41m5n5c5ibott9bmfm3sk0ln11','1732182273','','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/93.html%' OR sefurl LIKE '2015-01-05-23-14-32/2015-01-05-23-57-10/93.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 a.*, u.name AS author, u.usertype, cc.title AS category, s.title AS section, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug, g.name AS groups, s.published AS sec_pub, cc.published AS cat_pub, s.access AS sec_access, cc.access AS cat_access 
      FROM jos_content AS a
      LEFT JOIN jos_categories AS cc
      ON cc.id = a.catid
      LEFT JOIN jos_sections AS s
      ON s.id = cc.section
      AND s.scope = "content"
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_groups AS g
      ON a.access = g.id
      WHERE a.id = 93
      AND (  ( a.created_by = 0 )    OR  ( a.state = 1
      AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2024-11-21 09:44:33' )
      AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2024-11-21 09:44:33' )   )    OR  ( a.state = -1 )  )
  10. UPDATE jos_content
      SET hits = ( hits + 1 )
      WHERE id='93'
  11. 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
  12. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='mod_maximenu_CK'
      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='uth_proc'
      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='Olimp'
      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='obr_sv'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  19. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  20. SELECT *
                           
      FROM jos_menu
                           
      WHERE menutype='raznoe'
      AND published=1
                           
      ORDER BY sublevel DESC,ordering
                            ;
  21. SELECT *
                           
      FROM jos_modules
                           
      WHERE published=1
                           
      ORDER BY id
                            ;
  22. 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.plg_content_pagebreak.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

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

•Нет•

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

•Нет•