9Л ТА
.docxМіністерство освіти і науки України
Національний авіаційний університет
Кафедра прикладної інформатики
Лабораторна робота № 9
З дисципліни: «Теорія алгоритмів»
Виконав
Студент ІКІТ - 112
Односумов Микола
Київ 2015
Тема: «Алгоритми злиття та пошуку»
Теоретические сведения.
Поиск. Для определенности примем, что множество, в котором осуществляется поиск, задано как массив: a:array[0..n] of item;
Линейный поиск. Процедура заключается в простом последовательном просмотре всех элементов массива и сравнения их с эталоном x.
Поиск делением пополам (бинарный поиск). В большинстве случаев процедура поиска применяется к упорядоченным данным (телефонный справочник, библиотечные каталоги и пр.). В подобных ситуациях эффективным алгоритмом является поиск делением пополам. В этом методе сравнение эталона X осуществляется с элементом, расположенным в середине массива и в зависимости от результата сравнения (больше или меньше) дальнейший поиск проводится в левой или в правой половине массива.
Завдання
15. Знайти мінімальний позитивний елемент масиву (N) і кількість парних елементів.
Блок-схема:
Код программи:
# include <iostream>
using namespace std;
int main()
{
int n,m,kp=0;
cout<<"Vvedite razmer:\n";
cin>>n;
int a[n];
cout<<"Vvedite elementi:\n";
for(int i=0; i<n; ++i)
{
cin>>a[i];
if (a[i]>0)
m=a[i];
}
for(int i=0; i<n; ++i)
{
if ((a[i]<m) && (a[i]>0))
m=a[i];
if (a[i]%2==0)
kp++;
}
cout << "Minimalniy pozitivniy element: " << m << endl;
cout << "Kilkist' parnih elementiv: " << kp << endl;
//system("pause");
return 0;
}
Скрiншот:
Висновок: Я навчився використовувати Лiнiйний пошук та зрозумiв поняття пошуку загалом.