Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник_лаб.doc
Скачиваний:
0
Добавлен:
15.11.2019
Размер:
768.51 Кб
Скачать

2. Упорядкування вибором

Знаходимо найменший елемент масиву на інтервалі від 1-го елемента до n-го (останнього) елемента і переставляємо його місцями з першим елементом. На другому кроці знаходимо найменший елемент масиву на інтервалі від 2-го до n-го елемента і переставляємо його місцями з другим елементом. І так далі для всіх елементів до (n-1)– го.

Const MaxN =20;

Type TMas= array [1..MaxN] of real;

Var A: TMas; T: real; N,Nmin, I, j: integer;

Begin

Write (‘Введіть кількість елементів масиву :’); Readln (N);

For i := 1 to N do begin Write (‘A[‘,i,’]=’); Readln (A[i]); end;

Writeln(‘Масив до впорядкування: ’);

For i := 1 to N do Write (A[i], ‘ ‘); Writeln;

For i:=1 to N-1 do

Begin Nmin :=i;

For j:= i+1 to N do

If A[Nmin] > A[j] then Nmin :=j;

T := A[Nmin]; A[Nmin] := A[i]; A[i]:=T;

End;

Writeln (‘Упорядкований масив: ’);

For i := 1 to N do Write(A[i],’ ‘); Writeln;

Readln;

End.

3. Упорядкування обміном

Зліва направо по черзі порівнюються два сусідні елементи (перший з другим, другий з третім і т.д.), і якщо їх взаємне розміщення не відповідає критерію впорядкування, то вони переставляються місцями. Після першого перегляду на останній n-й позиції масиву буде знаходитися найбільший елемент. Тому другий перегляд виконується до (n-1)-го елемента. Третій — до (n-2)-го, і т.д. Всього потрібний (n-1)перегляд.

Const MaxN =20;

Type TMas= array [1..MaxN] of real;

Var A: TMas; T: real; N,Nmin, I, j: integer;

Begin

Write (‘Введіть кількість елементів масиву :’); Readln (N);

For i := 1 to N do begin Write (‘A[‘,i,’]=’); Readln (A[i]); end;

Writeln(‘Масив до впорядкування: ’);

For i := 1 to N do Write (A[i], ‘ ‘); Writeln;

For i:= N downto 2 do

For j:=1 to i-1 do

If A[j] > A[j+1] then begin T:= A[j]; A[j]:=A[j+1];

A[j+1]:= T;

end;

Writeln (‘Упорядкований масив: ’);

For i := 1 to N do Write(A[i],’ ‘); Writeln;

Readln;

End.

Хід роботи

Задача 1. Задано цілочисловий масив C(n). Вставити новий елемент перед першим, останнім, k-м, кожним третім: а) додатним / від’ємним елементом масиву; б) максимальним / мінімальним елементом масиву; в) парним /непарним елементом масиву; г) кратним числу А елементом масиву; д) більшим числа А елементом масиву.

Задача 2. Задано два масиви A(n) і B(n), елементи яких упорядковані за зростанням / спаданням. Об'єднати ці масиви так, щоб результуючий масив залишився упорядкованим.

Задача3. Упорядкувати за зростанням квадрати елементів масиву.

Задача 4. Перетворити двовимірний масив за правилом: а) в кожному рядку змінити знак максимального по модулю елемента на протилежний; б) останній від’ємний елемент кожного стовпця замінити нулем; в) до елементів стовпця /рядка k1 додати елементи стовпця / рядка k2.