Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4 Одномерные массивы.doc
Скачиваний:
4
Добавлен:
25.03.2015
Размер:
162.82 Кб
Скачать

Var I,j:integer; buf:integer;

const x:mass=(5,-7,16,12,-5,22,-8,15,6,2);

Begin

{------печать исходного массива ----------}

for i:=1 to 10 do write(x[i],' ');

writeln;

{------сортировка массива по возрастанию-----}

for k:=10 downto 2 do {ищем max среди k эл-тов}

begin

p:=1; { пусть индекс max =1}

for i:=2 to k do {поиск индекса max}

if x[i]>x[p] then p:=i; {смена индекса max}

buf:=x[k] ; x[k] :=x[p] ; x[p] :=buf; {*}

end;

{---печать отсортированного массива массива -----}

for i:=1 to 10 do write(x[i],' ');

writeln;

End.

{*} поменяли местами элементы Xmax и Xк, т.е. переставим max элемент в конец массива на k-е место.

Пример 2 сортировки методом Пузырька

В целочисленном массиве Х(5; -7; 16; 12; -5; 22; -8; 15; 6; 2) расставить элементы в возрастающем порядке.

Напечатать в файл исходный и отсортированный массивы.

const n=10;

type mass=array[1..n] of integer;

Var I,j:integer; buf:integer;

const x:mass=(5,-7,16,12,-5,22,-8,15,6,2);

f:text;

Begin

Assign(f,’massiv.pas’);

Rewrite(f);

{------печать исходного массива ----------}

writeln(f,'исходный массив');

for i:=1 to n do

write(f, x[i],’ ‘);

writeln(f);

{------сортировка массива по возрастанию-----}

for j:=1 to n-1 do

or i:=1 to n-j do

if x[i]>x[i+1] then

begin

buf:=x[i]; x[i]:=x[i+1];

x[i+1]:=buf

end;

{---печать отсортированного массива массива -----}

writeln(f,'полученный массив ');

for i:=1 to n do begin

write(f,' x[',i,']=',x[i]);

if i=5 then writeln(f)

end;

writeln;

Close(f)

End.

Ответ в файле massiv.pas’:

исходный массив

5 -7 16 12 -5 22 -8 15 6 2

полученный массив

x[1]=-8 x[2]=-7 x[3]=-5 x[4]=2 x[5]=5

x[6]=6 x[7]=12 x[8]=15 x[9]=16 x[10]=22

8

Авдеева Л.В. Лекция 4 Одномерные массивы ХТФ