Дата публикации: Jan 10, 2018 4:2:40 PM
1. Поиск максимального элемента в массиве.
Function max(y: integer; x: max): integer;
Var
Temp, max_m: integer;
Begin
Max_m:=x[1];
For i:=2 to y do
If x[i]> max_m then max_m:=x[i];
max:=max_m;
end;
2. Сортировка прямым выбором
Идея: Зафиксируем позицию элемента и будем сравнивать его с оставшимися, если находим элемент меньше – меняем местами. Далее фиксируем следующий элемент и так далее.
procedure sort1(y: integer; var x:mass);
var i,j, c : integer;
begin
for i:=1 to 4 do
for j:=i+1 to 5 do
begin
if a[i]<a[j] then
begin
c:=a[i];
a[i]:=a[j];
a[j]:=c;
end;
end;
3. Сортировка пузырьком
Идея: пузырек воздуха в стакане воды поднимается со дна вверх.
Для массивов – самый маленький («легкий» элемент перемещается вверх («всплывает»).
procedure Puzirek(y: integer; var x:mass);
var i,j, c : integer;
begin
for i:=1 to y-1 do begin
for j:=y-1 downto i do
if x[j] > x[j+1] then begin
c := x[j];
x[j] := x[j+1];
x[j+1] := c;
end;
end;
end;
4. Реверс (переставить элементы массива в обратном порядке)
procedure revers(y: integer; var x:mass);
var i, c : integer;
begin
for i:=1 to y div 2 do begin
c:=x[i]; x[i]:=x[y+1-i]; x[y+1-i]:=c;
end;
end;
5. Сдвиг (сдвинуть элементы на 1 ячейку влево в данном случае)
procedure sdvig(y: integer; var x:mass);
var i, c : integer;
begin
c := x[1];
for i:=1 to y-1 do x[i]:=x[i+1];
x[y] := c;
end;