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

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування 1: Базові концепції програмування ЗВІТ до лабораторної роботи № 7-8 «Перестановки елементів масивів та сортування масивів» Варіант 21 Дата «8» грудня 2021 Київ – 2021 ЗАВДАННЯ: 1. Ознайомитись з алгоритмами перестановок елементів масивів та способами сортування масивів. 2. У якості індивідуального завдання необхідно написати програмний код, що реалізує перестановку елементів масивів та сортування масивів. 3. Звернення до елементів масиву реалізувати за допомогою вказівника на масив. 4. Роздрукувати (вивести на екран) початковий масив та масив після виконання сортування. РЕЗУЛЬТАТ РОБОТИ ПОТРІБНО: 1. Роздрукувати (вивести на екран) початковий масив та масиви після виконання перестановок та  сортування. 2. Програмний код розмістити на сайті Repl.it (посилання виключно через кнопку «+ Share»). 3. Звіт до комп’ютерного практикуму додати в свій Клас. Завдання для варіанту 21 ЛР7 / ЛР8 / Теоретичні відомості У ЛР7 програма виконує перестановку елементів масиву відносно вертикалі, що проходить через центр масиву. Для цього першим кроком була ініціалізація значень, задання розміру масиву n, та виведення початкового масиву використовуючи оператор циклу for та виведення на екран з використанням функції форматованого виводу printf. Потім використовуючи цикл for виконуємо зміну місцями елементів масиву відносно вертикалі, виводимо отриманий масив за допомогою printf. У ЛР8 реалізовано програму, що сортує у порядку спадання елементи масиву, які стоять на непарних місцях. Спочатку було оголошено змінні, задано розмірність n послідовності, виведено початкову послідовність. Потім за допомогою умовного оператору for відібрано елементи, що стоять на непарних місцях та створено з них новий масив з новою розмірністю та виведено його на екран з використанням функції форматованого виводу printf. Далі здійнюється порівняння елементів нової послідовності, в результаті чого відбувається сортування. У кінці отримана послідовність з елеметами, що стоять на непарних місцях, посортованими в порядку спадання виводться на екран. Блок-схема ЛР7 / ЛР8 / Результати Завдання ЛР7 / Завдання ЛР8 / Копія коду ЛР7 // 04.12.2021 LR7 Chubukova Anastasia #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char *argv[], char *env[]) { int n = 3; int A[n][n]; int i, j, k; int newA[n][n]; for(i = 0; i < 3; i++){ for(j = 0; j < 3; j++){ A[i][j] = atoi(argv[i*3 + j + 1]); } } printf("\nПочаткова матриця:");// виведення початкової матриці for(i = 0; i < 3; i++){ printf("\n"); for(j = 0; j < 3; j++){ printf("%d\t", A[i][j]); } printf("\n"); } for (i = 0; i < n; i++) { for (j = 0; j < n/2; j++) { newA[i][j] = A[i][j]; A[i][j] = A[i][n-1-j]; A[i][n-1-j] = newA[i][j]; } } //Вивід масиву, елементи якого переставлені відносно ветикалі, що проходить через центр printf("\nПерестановка елементів відносно вертикалі:\n"); for (i = 0; i < n; i++){ printf("\n"); for (j = 0; j < n; j++){ printf("%d\t", A[i][j]); } printf("\n"); } return 0; } ЛР8 // 04.12.2021 LR8 Chubukova Anastasia #include <stdio.h> #include <string.h> #include <stdlib.h> int sortB(const void *a, const void *b) { return *(int*)b - *(int*)a; } int main(int argc, char *argv[], char *env[]) { int n = 20; int B[n]; int i; for(i = 0; i < n; i++){ B[i] = atoi(argv[i + 1]); } printf("\nПочаткова послідовність:");// виведення початкової послідовності for(i = 0; i < n; i++){ printf("%d\t ", B[i]); } int k = 0; for(int i = 0; i < n; i++) { if(i % 2 == 0) { k++; } } int newB[k]; int count = 0; for(int i = 0; i < n; i++) { if(B[i] % 2 == 0){ newB[count] = B[i]; count++; } } printf("\n\n"); printf("Послідовність елементів, що стоять на непарних місцях:\n"); for (int i = 0; i < k; i++) { printf("%d ", newB[i]); } printf("\n\n"); printf("Послідовність елементів, що стоять на непарних місцях за спаданням:"); qsort(newB, k, sizeof(int), sortB); // сортування послідовності за спаданням // вивід посортованої послідовності for(i = 0 ; i < k; i++) { printf("%d ", newB[i]); } return 0; } Посилання ЛР7 https://replit.com/join/nyckpximje-nastyachubukova ЛР8 https://replit.com/join/qyerktcvql-nastyachubukova Висновки: У ході виконання лабораторної роботи №7 відбулося ознайомлення з алгоритмом перестановки елементів масиву, лабораторної роботи №8 – з способами сортування масивів. Для реалізації програм було використано умовний оператор if , оператор циклу for та закріплено навички роботи з ними. У результаті було розроблено дві програми: одна виконує перестановку елементів масиву відносно вертикалі, що проходить через центр масиву, друга сортує у порядку спадання елементи масиву, що стоять на непарних місцях.
Антиботан аватар за замовчуванням

23.05.2023 13:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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