DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування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:12

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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