Program n1;
uses crt;
var m:array[1..20] of integer; i,k,n:byte;
c:integer; f:boolean;
begin
clrscr;
write('Vvedite kol. sportsmenov - '); read(k);
for i:=1 to k do
begin
m[i]:=random(10);
writeln('Sportsmen',i,'=',m[i]);
end;
repeat
f:=false;
for i:=1 to k+1 do
begin
if m[i]>m[i-1] then
begin
f:=true;
c:=m[i]; m[i]:=m[i-1];m[i-1]:=c;
end;
end;
until not f;
write('Vvedite kolichestvo finalistiv - '); read(n);
for i:=1 to n do
writeln('Sportsmen',i,'=',m[i]);
readkey
End.
Вариант 2
uses crt;
var a:array[1..100] of integer;
n,m,i,j,mx,imx,k:integer;
begin
clrscr;
write('Количество участников n=');
readln(n);
repeat
write('Количество финалистов m<n m=');
readln(m);
until m<n;
writeln('Введите суммы баллов ',n,' спортсменов');
for i:=1 to n do
begin
write('Спортсмен ',i,' = ');
readln(a[i]);
end;
clrscr;
writeln('Результаты спортсменов:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
writeln('Финалисты:');
for i:=1 to m do //выбираем М финалистов
begin
mx:=a[1];imx:=1; //принимаем макс=первый участник
for j:=1 to n do//идем по всему массиву
if a[j]>mx then//ищем кто больше
begin
mx:=a[j];//находим значение
imx:=j;/его номер
end;
writeln('# ',imx,' res=',mx);//выводим на экран
for k:=imx to n-1 do//сдвигая хвост массива на 1 влево
a[k]:=a[k+1];
n:=n-1;//мы удаляем этот элемент из массива, уменьшаем размер массива, повторяем М раз
end;
readln;
end.
Вариант 3
uses crt;
var a:array[1..2,1..100] of integer;
n,m,i,j,k,x:integer;
begin
clrscr;
write('Количество участников n=');
readln(n);
repeat
write('Количество финалистов m<n m=');
readln(m);
until m<n;
writeln('Введите номера и суммы баллов ',n,' спортсменов');
for i:=1 to n do
begin
write('Спортсмен ',i,' = ');
readln(a[2,i]);
a[1,i]:=i;
end;
clrscr;
writeln('Результаты спортсменов:');
write('Номер: ');
for i:=1 to n do
write(a[1,i]:4);
writeln;
write('Рез. : ');
for i:=1 to n do
write(a[2,i]:4);
writeln;
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[2,i]<a[2,j] then
for k:=1 to 2 do
begin
x:=a[k,i];
a[k,i]:=a[k,j];
a[k,j]:=x;
end;
writeln('Финалисты:');
write('Номер: ');
for i:=1 to m do
write(a[1,i]:4);
writeln;
write('Рез. : ');
for i:=1 to m do
write(a[2,i]:4);
readln
end.