
Массив содержит результаты соревнований по прыжкам в длину в сантиметрах (случайные числа в
диапазоне от 280 до 370). Количество спортсменов вводится с клавиатуры. Составьте программу, определяющую номер и результат победителя Язык программирования - паскаль абц.

Ответы на вопрос

Ответ:
begin
var size := readinteger();
var mas := ArrRandomInteger(size, 280, 370);
mas.Println;
var max := mas[0];
var ind := 0;
for var i := 1 to mas.Length - 1 do
begin
if (mas[i] > max) then
begin
max := mas[i];
ind := i;
end;
end;
writeln('Номер победителя: ', ind);
writeln('Результат победителя: ', max);
end.
Объяснение:
begin // Начало программы
var size := readinteger(); // Считывание размера массива с клавиатуры
var mas := ArrRandomInteger(size, 280, 370); // Объявление массива размером size + заполнение массива случайными значениями из диапазона [280, 370].
mas.Println; // Вывод массива
var max := mas[0]; // Возьмем, что максимальный результат у нулевого индекса массива
var ind := 0; // Номер победителя = 0
for var i := 1 to mas.Length - 1 do // Идём от единицы до размера массива - 1 (т. к. массив идёт с 0, его мы уже взяли в максимум)
begin // Начало цикла
if (mas[i] > max) then // Если значения массива с индексом i > значения переменной max
begin // Начало условного оператора
max := mas[i]; // Присваиваем переменной max значение массива с индексом i
ind := i; // Присваиваем переменной ind индекс максимального элемента
end; // Конец условного оператора
end; // Конец цикла
writeln('Номер победителя: ', ind); // Выводим ответ
writeln('Результат победителя: ', max); // Выводим ответ
end. // Конец программы



Конечно, вот пример программы на языке Pascal, которая выполняет описанную задачу:
pascalprogram FindWinner; const MIN_RESULT = 280; MAX_RESULT = 370; var results: array of Integer; numAthletes, i, winnerIndex, maxResult: Integer; begin Write('Введите количество спортсменов: '); ReadLn(numAthletes); SetLength(results, numAthletes); for i := 0 to numAthletes - 1 do begin Write('Введите результат спортсмена ', i + 1, ': '); ReadLn(results[i]); // Убедимся, что результат находится в допустимом диапазоне if (results[i] < MIN_RESULT) or (results[i] > MAX_RESULT) then begin WriteLn('Ошибка: Результат должен быть в диапазоне от ', MIN_RESULT, ' до ', MAX_RESULT); Exit; end; end; // Найдем индекс победителя и его результат winnerIndex := 0; maxResult := results[0]; for i := 1 to numAthletes - 1 do begin if results[i] > maxResult then begin winnerIndex := i; maxResult := results[i]; end; end; WriteLn('Победитель - спортсмен номер ', winnerIndex + 1); WriteLn('Результат: ', maxResult, ' см'); end.
Программа предлагает ввести количество спортсменов, а затем поочередно вводить результаты прыжков для каждого спортсмена. После ввода всех результатов, программа определит победителя и выведет его номер и результат.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili