2. Для примера 6.5 выполните перечисленные задания.
1. Найдите номер спортсмена, пришедшего на финиш последним.
Вместо минимального количества времени найдём максимальное — это и будет наш последний лыжник.
var a: array [1..20] of real;
n, n_max: integer;
begin
writeln('Количество спортсменов');
readln(n); writeln('Время');
for var i := 1 to n do
read(a[i]);
n_max := 1;
for var i := 2 to n do
if a[i] > a[n_max] then
n_max := i;
writeln('Последний — лыжник номер ', n_max);
writeln('Его время - ', a[n_max]);
end.
2. Определите, был ли победитель единственным или есть еще лыжник,
прошедший трассу с таким же результатом (см. пример 6.6).
Объявим дополнительную переменную k
, в которую будем вести подсчёт минимальных элементов в массиве.
var a: array [1..20] of real;
n, k, n_min: integer;
begin
writeln('Количество спортсменов');
readln(n); writeln('Время');
for var i := 1 to n do
read(a[i]);
n_min := 1;
for var i := 2 to n do
if a[i] < a[n_min] then
n_min := i;
k := 0;
for var i := 1 to n do
if a[i] = a[n_min] then
k := k + 1;
writeln('Последний — лыжник номер ', n_min);
writeln('Его время - ', a[n_min]);
writeln('Встретился ', k, ' раз(–а)');
end.
3. Добавьте еще один массив. Введите в него фамилии спортсменов.
Объявим переменную f
, в которую будем записывать фамилии спортсменов.
var a: array [1..20] of real;
f: array [1..20] of string;
n, n_min: integer;
begin
writeln('Количество спортсменов');
readln(n);
writeln('Фамилии спортсменов ', n);
for var m := 1 to n do
readln(f[m]);
writeln('Время');
for var i := 1 to n do
read(a[i]);
//поиск минимального элемента
n_min := 1;
for var i := 2 to n do
if a[i] < a[n_min] then
n_min := i;
writeln('Последний — лыжник номер ', n_min);
writeln('Его время - ', a[n_min]);
end.
Реализуйте пункты 1—3 так, чтобы выводилась фамилия, а не номер (см. пример 5.10).
var a: array [1..20] of real;
f: array [1..20] of string;
n, n_min: integer;
begin
writeln('Количество спортсменов');
readln(n);
writeln('Фамилии спортсменов ', n);
for var m := 1 to n do
readln(f[m]);
writeln('Время');
for var i := 1 to n do
read(a[i]);
n_min := 1;
for var i := 2 to n do
if a[i] < a[n_min] then
n_min := i;
writeln('Последний — лыжник номер ', f[n_min]);
writeln('Его время - ', a[n_min]);
end.