ТЕОРІЯ АЛГОРТИМІВ 3 ЛАБА
.docxМІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСТИТЕТ
Навчально-науковий інститут Комп’ютерних інформаційних технологій
Кафедра прикладної інформатики
ЛАБОРАТОРНА РОБОТА №3
з дисципліни
«Теорія алгоритмів»
Варіант № 11
Виконав:
Студент ТП-115
Самчук Богдан
Прийняв:
Горіна В. В.
Київ 2018
Алгоритми сортування, злиття та пошуку
Масиви С++
Масив являє собою кінцеву іменовану послідовність величин одного типу, які розрізняються за порядковим номером. Опис масивів у програмі відрізняється від опису простої змінної наявністю після імені квадратних дужок «[]», в яких задається кількість елементів масиву (розмірність). У мові С++ нумерація елементів масиву починається з 0.
Оголошення одновимірних масивів допускає одну з таких форм запису:
<тип> <ім’я>[n];
<тип> <ім’я>[n]={значення};
<тип> <ім’я>[ ]= {значення};
При оголошенні одновимірного масиву, коли масив відразу ініціюється, можна не вказувати його розмір. Якщо ж ініціювання не здійснюється під час оголошення масиву, то кількість індексів слід задати обов'язково константним виразом. Надалі кількість елементів змінити неможливо.
ЗАДАНИЕ №1
Задан массив целых чисел а1,...,an, n>10. Переставить элементы этого массива так, чтобы после перестановки они были упорядочены по убыванию а1<=а2<=...<=an. Использовать сортировку включением. Поменять местами первые пять элементов с последними пятью элементами.
Блок-схема алгоритму:
Текст програми:
#include <iostream>
using namespace std;
int main() {
int i, n, j, key=0, temp=0;
cin>>n;
int a[n];
for(i=0; i<n; i++)
cin >>a[i];
for (i=0; i<n-1; i++)
{
key=i+1;
temp=a[key];
for (j=i+1; j>0; j--)
{
if (temp<a[j-1])
{
a[j]=a[j-1];
key=j-1;
}
}
a[key]=temp;
}
for(i=0; i<5; i++)
{temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
}
for(i=0; i<n; i++)
cout<<a[i]<<" ";
}
Приклад роботи програми:
Висновок:
Я навчився проводити операції сортування в масиві, шукати елементи в ньому, переставляти деякі з них.