Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
295
Добавлен:
04.03.2014
Размер:
1.4 Кб
Скачать
Старая задача с сортировкой массива записей по росту. Очень поможет решить последнюю задачу с сортировкой в typefiles.
*****************************************************program Project68;

type man=record
name:string;

st:integer; end;

mas=array[1..10] of man;

procedure input(var a:mas; var n:integer);
var i: integer;
begin
write('vvedyte N: '); readln(n); writeln('name_rost :');
for i:=1 to n do begin write(i,' : ');
readln(a[i].name); write('st',i,' : ');
readln(a[i].st);
end; end;

procedure sort(var a:mas; n:integer);
var i,k,j:integer; b:man;
begin
k:=1; i:=1;
while k<>0 do
begin
k:=0;
for j:=1 to n-i do
if a[j].st<a[j+1].st then
begin
b:=a[j];
a[j]:=a[j+1];
a[j+1]:=b; k:=k+1 end;
i:=i+1; end; end;

procedure output(a:mas; n:integer);
var i:integer;
begin
writeln('Spisok : ');
for i:=1 to n do
writeln(a[i].name,' ',a[i].st);
end;

procedure vst(var a:mas; var n:integer);
var i,j:integer; b:man; t:boolean;
begin n:=n+1;
writeln(n,' : '); readln(b.name); readln(b.st);
i:=0; t:=false;

repeat i:=i+1;
if b.st > a[i].st then begin t:=true;
for j:=n-1 downto i do
a[j+1]:=a[j] end;
until t=true;

a[i]:=b;

end;

var a:mas; n,i,k:integer;
begin
input(a,n);
sort(a,n);
output(a,n);
write('skolko man-off dovavit?! '); readln(k);
for i:=1 to k do begin
vst(a,n); end;
output(a,n);
end.
Соседние файлы в папке Array. Массивы