Міністерство освіти і науки України
Національний університет "Львівська політехніка"
/
Лабораторна робота №6
СОРТУВАННЯ ДАНИХ
Мета роботи:
засвоїти методи створення, доступу та використання базового структурованого типу даних — масивів, засвоїти програмну реалізацію методів сортування даних.
Завдання :
Серед елементів матриці А заданого розміру m x n знайти максимальний і мінімальний. Задану групу елементів цієї ж матриці переписати в одновимірний масив, знайти максимальний і мінімальний елемент групи, відсортувати за зменшенням значень. Вивести на екран значення мінімального та максимального елементів масиву та їх адреси та порядкові номери до сортування масиву та після.
Задачу реалізувати, звертаючись до елементів масиву через ім’я та порядковий номер в масиві.
A=/
Аналіз завдання:
Для того, щоб ввести посортувати елементи нижче головної діагоналі потрібно використати цикл “for” та “do…while”.
/
Текст програми:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int min=0, max=0, min1, max1, i, j, p, f, k=0;
int Arr [4] [4]={2,3,5,-6,-3,4,5,1,9,7,3,1,4,-7,3,8};
int Arr1[6];
int Arr2[3][3];
puts("Lojik Vitalij, RT-11, Lab6");
for (i=0;i<4;i++)
{
for (j=0;j<4;j++)
{
if(Arr[i][j]>max) max=Arr[i][j];
if(Arr[i][j]<min) min=Arr[i][j];
printf("%d\t", Arr[i][j]);
}
puts("");
}
printf("Maximum matruzi A=%d\n",max);
printf("Minimum matruzi A=%d\n",min);
for(i=1;i<4;i++){
for(j=0;j<i;j++){
Arr1[k]=Arr[i][j];
k++;
}
}
puts("Elementu pid diagonallu posortovani:");
do
{
for (i=0;i<5;i++) { f=0;
if(Arr1[i]<Arr1[i+1]) {
f=1;
p=Arr1[i];
Arr1[i]=Arr1[i+1];
Arr1[i+1]=p; }
}
}
while(f!=0);
max1=Arr1[0];
min1=Arr1[5];
puts("");
printf("MaxArr1=%d\n",max1);
printf("MinArr1=%d\n",min1);
for(i=0;i<6;i++){
printf("%d\t", Arr1[i]);
}
puts("");
system("PAUSE");
return 0;
}
Результати:
/
Висновок:
На цій лабораторній роботі я написав програму, яка сортує елементи матриці нижче головної діагоналі. Для сортування я використав метод «бульбашки».