Частина тексту файла (без зображень, графіків і формул):
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
“КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ
імені ІГОРЯ СІКОРСЬКОГО”
ЗВІТ
з практичного завдання №3
з навчальної дисципліни “Програмування складних алгоритмів”
Тема:
«ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ
АЛГОРИТМІВ СОРТУВАННЯ»
Варіант 18
Мета:
Мета заняття – отримання знань і навичок, необхідних для виконання сортування даних, ознайомлення з базовими методами та алгоритмами сортування, використання їх на практиці в процесі розроблення програм мовою програмування С++ (Java ... інші)
Завдання
1. Відповідно за номером по журналу виберіть індивідуальне завдання.
2. Розробіть алгоритм вирішення завдання (блок-схема або пояснення).
3. Складіть текст програми (обрати два метода із розглянутих чотирьох).
4. Створіть проект в інтегрованому середовищі розробки ...... (pract_№_призвище.cpp або pract_№_призвище.java).
5. Запустіть програму на виконання, проаналізуйте результати (двох методів за часом) і переконайтеся в правильності рішення задачі.
/
Результат роботи програми
/
Код програми
https://replit.com/join/npffccugbk-okseniait
#include <stdio.h>
#define N 20
int main(void) {
// Створення масиву
int arr[N];
int arr2[N];
int i, j, k, t;
// Ініціалізація масиву рандомними числами(0-50)
for (i=0; i<N; i++){
arr[i]=rand()%50;
}
// Копіювання масиву
for (i=0; i<N; i++){
arr2[i]=arr[i];
}
//Вивід масиву
printf("Початковий масив: \n");
for (i=0; i<N; i++){
printf("%d \t", arr[i]);
}
printf("\n\nВідсортований масив: ");
//Упорядкувати масив методом вставки
//Елементи з парними індексами (0-18) за спаданням
for (i=1; i<N; i=i+2){
t=arr[i];
for (j=i-2; j>=0 && arr[j]>t; j=j-2){
arr[j+2] = arr[j];
}
arr[j+2] = t;
}
//Елементи з непарними індексами (1-19) за зростанням
for (i=2; i<N; i=i+2){
t = arr[i];
for (j=i-2; j>=0 && arr[j]<t; j=j-2){
arr[j+2] = arr[j];
}
arr[j+2] = t;
}
//Вивід відсортованого масиву
printf("\nМетод вставки: \n");
for (i=0; i<N; i++){
printf("%d \t", arr[i]);
}
printf("\n\nМетод вибору: \n");
//Упорядкувати масив методом вибору
//Елементи з парними індексами (0-18) за спаданням
for (i=0; i<N; i=i+2){
k=i;
t=arr2[i];
for (j=i+2; j<N; j=j+2){
if(arr2[j]>t){
k=j;
t=arr2[j];
}
}
arr2[k]=arr2[i];
arr2[i]=t;
}
for (i=1; i<N-1; i=i+2){
k=i;
t=arr2[i];
for (j=i+2; j<N; j=j+2){
if(arr2[j]<t){
k=j;
t=arr2[j];
}
}
arr2[k]=arr2[i];
arr2[i]=t;
}
//Вивід відсортованого масиву
for (i=0; i<N; i++){
printf("%d \t", arr2[i]);
}
return 0;
}