Добавил:
inst: @ingvar.makarchuk Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТЕОРІЯ АЛГОРТИМІВ 3 ЛАБА

.docx
Скачиваний:
2
Добавлен:
27.10.2018
Размер:
224.8 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСТИТЕТ

Навчально-науковий інститут Комп’ютерних інформаційних технологій

Кафедра прикладної інформатики

ЛАБОРАТОРНА РОБОТА №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]<<" ";

}

Приклад роботи програми:

Висновок:

Я навчився проводити операції сортування в масиві, шукати елементи в ньому, переставляти деякі з них.

Соседние файлы в предмете Теория алгоритмов и автоматов