Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Кафедра математичних методів системного аналізу ЗВІТ про виконання лабораторних робіт з дисципліни «Алгоритмізація та структури даних» Виконав: Прийняв: Київ – 2019 1 Завдання Варіант 28 Є дійсна матриця розміром A[5][6]. Впорядкувати її рядки за неспаданням суми елементів. 2 Опис алгоритму 1. Задаємо розмірність матриці MхN (М-парне), як const. 2. Введемо змінну k=1 , як початкову величину для заповнення матриці впорядкованими натуральними числами. Циклічно починаємо будувати матрицю з m-1 рядка та поступово зменшуючи i (індекс рядка) на 1 крок будемо рухатись вниз. Якщо рядок має парний індекс (i % 2 == 0), заповнюємо його зліва-направо, тобто починаємо з j = m-1 (індекс стовпчика) і рухаємось до n >=0. Якщо рядок непарний, то починаємо з j=0, та рухаємось справа-наліво до n. 3. Для заповнення матриці впорядкованими за зростанням натуральними числами, на кожному кроці обов’язково збільшуємо змінну k на 1. 4. Виводимо сформовану матрицю на екран монітору. 3 Блок схема алгоритму 4 Програмна реалізація // // main.c // alg_matr laba 3 #include #include int main(){ int M=5; int N=6; int x, t, n1, S; //Оголошуємо бiблiотеки // Оголошуємо змінні int A[M][N]; for (int i=0;i } } printf("Отримали матрицю:\n"); // виведення матриці for (int i=0;i printf("\n"); } printf("Введiть номер рядка для сортування, від 0 до %d:\n",M-1); scanf("%d",&S); n1=N; do {t=0; for (int i=S; i {x=A[j][S]; //Переставляємо поточний та наступний елемент місцями A[j][S]=A[j+1][S]; A[j+1][S]=x; t=j+1; //Фіксуємо останній індекс елемента масива, який змінюється } } }n1=t; //в змінну n1 пересилається значення t, щоб не сортувати вже відсортовані елементи } while(t!=0); printf("Матриця пiсля сортування:\n "); for (int i=0;i } printf("\n"); } return 0; } Результати роботи в програмному середовищі Xcode: Отримали матрицю: 7 49 73 58 30 72 44 78 23 9 40 65 92 42 87 3 27 29 40 12 3 69 9 57 60 33 99 78 16 35 Введiть номер рядка для сортування, від 0 до 4: 2 Матриця пiсля сортування: 7 49 1 58 30 72 44 78 3 9 40 65 92 42 23 3 27 29 40 12 73 69 9 57 60 33 87 78 16 35 Program ended with exit code: 0 |