Мета роботи — засвоїти методи створення, доступу та використання базового структурованого типу даних — масивів, засвоїти програмну реалізацію методів сортування даних.
Завдання:
Серед елементів матриці А заданого розміру m x n знайти максимальний і мінімальний. Задану групу елементів цієї ж матриці відсортувати за зростанням або зменшенню і знайти максимальний і мінімальний елемент групи.
Група - головна діагональ. Впорядкувати за зростанням.
Матриця:
1.постановка задачі.
Вводимо елементи матриці які зберігаємо у масив А. У масив V зберігаємо елементи групи знаходимо максимальний і мінімальний елемент матриці А. Потім знаходимо кількість елементів групи. Це необхідно для того щоб відсортувати лише ті елементи масиву які входять до групи.
2.розробка структури даних.
Позначення
Ім’я
Тип
Призначення, опис
А
А(матри
ця)
двомірний масив дійсних чисел
вхідна (задана) матриця
v
V
масив дійсних чисел
Масив необхідний для запом’ятовування
елементів групи
d
d
ціла
кількість стовпців, вхідна
h
h
ціла
Кількість рядків , вхідна
r
r
ціла
номер рядка
s
s
ціла
номер стовпця
sy
cума
ціла
Кількість елементів групи
l
l
ціла
Змынна за допомогою якої знаходимо
Максимальний елемент матриці
x
x
ціла
Змінна, що слугує для того щоб присвоїти масиву V елементи групи
с
с
дійсна
Зберігає елементи матриці під час сортування
3.розробка алгоритму:
4. Запис тексту програми:
program Project1;
var r,s,h,d,l,x,sy:integer;c:real;
a:array[1..100,1..100] of real;
v:array[1..1000]of real;
begin h:=4;d:=4; c:=0;
for s:=1to h do
for r:=1 to d do begin
write('element',s,r,'=');
readln(a[s,r]);end;
x:=0;
for s:=1 to h do begin
x:=x+1; v[x]:=a[s,s]; end;
readln;
for s:=1 to h do begin
for r:=2 to d do begin
if a[s,r-1]>a[s,r] then begin
c:=a[s,r-1]; a[s,r-1]:=a[s,r]; a[s,r]:=c; end;end;end;
for l:=2 to h do
if a[l-1,d]>a[l,d] then begin
c:=a[l-1,d]; a[l-1,d]:=a[l,d];a[l,d]:=c;end ;
writeln('max element matruci A =',a[h,d]:8:3);
for s:=1 to h do begin
for r:=2 to d do begin
if a[s,r-1]<a[s,r] then begin c:=a[s,r-1]; a[s,r-1]:=a[s,r]; a[s,r]:=c; end;end;end;
for l:=2 to h do
if a[l-1,d]<a[l,d] then begin c:=a[l-1,d]; a[l-1,d]:=a[l,d];a[l,d]:=c;end;
writeln('min element matruci A =',a[h,d]:8:3);
sy:=h;
for r:=1 to sy-1 do
for s:=2 to sy do begin
if v[s-1]>v[s] then begin c:=v[s-1]; v[s-1]:=v[s]; v[s]:=c;end;end;
writeln('min element grypu =',v[1]:5:2) ;
writeln('max element grypu =',v[sy]:7:2);
writeln('vporadkovana grypa elementiv');
for s:=1 to sy do begin write(v[s]:8:3,' '); end ;readln;
end.
5.Результати тестування і налагодження:
Висновок: я засвоїв методи створення, доступу та використання масивів. Сортувати матриці та їх елементи, а також знаходити найбільший або найменший елемент матриці або певної групи чисел які належать матриці.
Міністерство освіти і науки україни
НУ «Львівська Політехніка»
Кафедра теоретичної радіотехніки та радіовимірювань
ЗВІТ З ЛАБОРАТОРНОЇ РОБОТИ №9 НА ТЕМУ:
“ ОБРОБКА І ВИКОРИСТАННЯ МАСИВІВ”
Варіант №4
Підготував:
студент групи РТ-12
Іванів Богдан
Прийняв:
Нестор Н. І.
Львів 2010р.