Перестановки елементів масивів та способи їх сортування

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2021
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування2:Базові концепції програмування ЗВІТ до лабораторної роботи № 3 «Перестановки елементів масивів та способи їх сортування» Варіант №12 Дата «22» грудня 2021 Завдання до лабараторної роботи: ЗАВДАННЯ: 1. Ознайомитись з алгоритмами перестановок елементів масивів та способами сортування масивів. 2. У якості індивідуального завдання необхідно написати програмний код, що реалізує перестановку елементів масивів та сортування масивів. 3. Звернення до елементів масиву реалізувати за допомогою вказівника на масив. 4. Роздрукувати (вивести на екран) початковий масив та масив після виконання сортування. Вихідні дані по варіантах (див. Додаток 7+8). РЕЗУЛЬТАТ РОБОТИ ПОТРІБНО: 1. Роздрукувати (вивести на екран) початковий масив та масиви після виконання перестановок та сортування. 2. Програмний код розмістити на сайті Repl.it (посилання виключно через кнопку «+ Share»). 3. Звіт до комп’ютерного практикуму додати в свій Клас. / / / Теоретичні відомості Сортування масиву — один з найбільш розповсюджених процесів обробки даних. Завдяки йому здійснюється розміщеня об’ектів у визначеному порядку, наприклад, чисел за зростанням або за спаданням їх значень, прізвищ у алфавітному порядку тощо. Існують різні методи сортування, серед них — обмінне сортування (метод «пухирця»), сортування вибором, сортування вставками, швидке сортування, сортування Шелла, пірамідальне сортування, сортування обчисленням адреси, сортування порозрядним групуванням тощо. Ці методи відрізняються швидкістю отримання результату, складністю і універсальністю. Алгоритм працює таким чином — у поданому наборі даних (списку чи масиві) порівнюються два сусідні елементи. Якщо один з елементів, не відповідає критерію сортування (є більшим, або ж, навпаки, меншим за свого сусіда), то ці два елементи міняються місцями. Прохід по списку продовжується доти, доки дані не будуть відсортованими. Алгоритм отримав свою назву від того, що процес сортування за ним нагадує поведінку бульбашок повітря у резервуарі з водою. Оскільки для роботи з елементами масиву він використовує лише порівняння, це сортування на основі порівнянь. Алгоритм для ветикальної перестановки елементів масиву: Vertical [i][j]=Initial [i][N-1-j]; N-довжина виміру даного масиву. Блок-схема / Код програми: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int N,K; int LengthB =30; int B[LengthB]; int first; char Array1 [4][4]; int Vertical [4][4]; for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { Array1 [i][j]=rand()%40; } } printf("Завдання 1.\n"); printf("\t\t\t\t<<<<=== Початковий масив ===>>>>\n\n"); for(int i=0;i<4;i++) { printf("||"); for(int j=0;j<4;j++) { printf("\t%i\t",Array1 [i][j]); } printf("||\n"); } printf("\n"); printf("\t\t\t\t<<<<=== Масив після виконання перестановок ===>>>>\n\n"); for(int i=0;i<4;i++) { for(int j=0;j<4;j++) { Vertical[i][j] = Array1[i][3-j]; } } for(int i=0;i<4;i++) { printf("||"); for(int j=0;j<4;j++) { printf("\t%i\t",Vertical[i][j]); } printf("||\n"); } printf("\n---------------------------------------------\n"); printf("Завдання 2.\n"); printf("\t\t\t\t<<<<=== Початковий масив ===>>>>\n"); for(int i=0;i<LengthB;i++) { B[i]=rand()%54-11; printf("%i\t",B[i]); } printf("\n---------------------------------------------\n"); printf("Введіть N:"); scanf("%i",&N); printf("---------------------------------------------\n"); printf("Введіть K:"); scanf("%i",&K); printf("---------------------------------------------\n"); if(N>0&&N<K&&K>0&&K<30) { printf("Масив без зайвих елементів:\n\n"); for(int i=0;i<LengthB;i++) { if(i>N&&i<K) { printf("%i\t",B[i]); } } printf("\n"); printf("---------------------------------------------\n"); printf("---------------------------------------------\n"); for(int i=N+1;i<K;i++) { if(B[i]>B[i+1]&&i<K-1) { first=B[i+1]; B[i+1]=B[i]; B[i]=first; } else if(B[i]==B[K]) { B[i]=B[K]; } for(int i=N+1;i<K;i++) { if(B[i]>B[i+1]&&i<K-1) { first=B[i+1]; B[i+1]=B[i]; B[i]=first; } else if(B[i]==B[K]) { B[i]=B[K]; } } } printf("\t\t\t\t<<<<===Відсортований масив===>>>>\n\n"); for(int i=N+1;i<K;i++) { printf("%d\t",B[i]); } } else printf("Введіть допустиме значення N або K !!!"); } Результати виводу: 1.Якщо введені допустимі значення, то програма видає такий результат / 2.Якщо ви ввели недопустиме значення N або К / 5.Програмний код (додаток): https://replit.com/join/hkfavzkyad-tr-15tkachienko Висновок Під час виконання лабараторної роботи було засвоєно алгоритм перестановок елементів в двовимірному масиві, а також алгоритм сортування виділених елементів масиву. Готова програма виводить на екран двовимірний масив, який був перетворений з типу char на тип int і масив після перестановок відносно вертикалі, також алгоритм виводить на консоль одновимірний масив В, за допомогою клавіатури можна вибрати на якому проміжку масиву буде відбуватися сортування, результати перестановок виводяться на екран.
Антиботан аватар за замовчуванням

14.05.2023 09:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!