В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
гамов666
гамов666
15.06.2021 20:23 •  Информатика

Вмассиве хранится информация о результатах 25 спортсменов, участвовавших в лыжной гонке. российский спортсмен участвовал под номером 4. определить результат спортсмена-победителя гонки и какое место занял российский лыжник.

Показать ответ
Ответ:
Mercedess65amg
Mercedess65amg
06.10.2020 04:24
Const n=25; 
var a,b:array[1..n] of integer;
i,j,t:integer; 
begin
Randomize;
writeln('Результаты:');
for i:=1 to n do
 begin
 a[i]:=random(31)+10;
 write(a[i]:3);
 end;
writeln;
for i:=1 to n do b[i]:=i;
for i:=1 to n-1 do
  for j:=1 to n-i do
    if a[b[j]]>a[b[j+1]] then
    begin 
    t:=b[j]; b[j]:=b[j+1]; b[j+1]:=t;
    end;
writeln('Победитель:');
writeln('min = ',a[b[1]],' его номер = ',b[1]);
j:=1;
while b[j]<>4 do j:=j+1;
writeln('Результат российского лыжника: ', j,' место');
end.

Пример:
Результаты:
 38 19 22 11 16 40 22 18 21 16 15 33 38 34 39 21 19 10 25 15 40 13 34 27 37
Победитель:
min = 10 его номер = 18
Результат российского лыжника: 2 место

PS. Места, которые заняли спортсмены с одинаковыми результатами, в программе будут различны.
0,0(0 оценок)
Ответ:
demon998
demon998
06.10.2020 04:24
Const
   N = 25;
Var
   t,M:array[1..N] of integer;
   i,j,Min,k:integer;
Begin
Randomize;
Write('Результаты лыжников:');
For i:= 1 to N do
    Begin
    t[i]:=random(151)+50;
    Write(' ',t[i])
    End;
WriteLn;
For i:= 1 to N do
    M[i]:=i;
For i:= 1 to N do
    Begin
    Min:=i;
    For j:= i+1 to N do
        if t[M[Min]] > t[M[j]] then Min:=j;
    k:=M[i];
    M[i]:=M[Min];
    M[Min]:=k;
    End;
WriteLn('Победный результат: ',t[M[1]]);
k:=1;
i:=1;
While M[i] <> 4 do
   Begin
   if t[M[i]] <> t[M[i+1]] then k:=k+1;
   i:=i+1
   End;
WriteLn('Российский спортсмен занял место №',k);
End.

Пример работы программы:

Результаты лыжников: 149 152 55 91 55 63 162 132 74 101 160 173 72 127 184 120 192 93 181 102 111 183 59 161 139
Победный результат: 55
Российский спортсмен занял место №6
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота