Vladimir_S |
24.11.2013 14:19 |
Цитата:
Сообщение от Тетрадь
(Сообщение 972934)
Паскаль ABC. Подпрограммы должны быть с параметрами. Надеюсь на вашу помощь
|
Поскольку Вы не написали, что именно требуется засунуть в подпрограммы, я это сделал по своему усмотрению, введя процедуру упорядочения массива записей по полю pts примененным Вами методом сортировки выбором. Между прочим, похоже, у Вас ошибка: вместо того, чтобы упорядочить массив по убыванию, Вы упорядочили его по возрастанию, в результате чего финалистками у Вас оказались девушки, набравшие наименьшее число этих самых pts. Или так и задумано? Но я в программе знак неравенства изменил на противоположный.
Код:
program pro1;
const n = 100;
type
girl = record
id : byte;
pts : integer;
end;
mas=array[1..n] of girl;
var
a : mas;
i : byte;
Procedure Order(G_in:mas; var G_out:mas);
var
G:mas;
m:girl;
q,p:byte;
begin
G:=G_in;
for q := 1 to n-1 do
for p := n downto q do
if G[q].pts < G[p].pts then
begin
m := G[q];
G[q] := G[p];
G[p] := m
end;
G_out:=G;
end;
begin
writeln('Участницы:');
randomize;
for i := 1 to n do
begin
a[i].id := i;
a[i].pts := 1000 + random(1000);
writeln((a[i].id):4, a[i].pts:6)
end;
Order(a,a);
writeln('финалистки:');
for i := 1 to 10 do
writeln((a[i].id):4, a[i].pts:6)
end.
|