Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введён ноль) и определение максимального (наибольшего) из введённых чисел. Используйте оператор repeat.
Для поиска максимума нельзя заранее принять max := : тогда для последовательности только из отрицательных чисел ответ окажется неверным. Первое ненулевое число сделаем текущим максимумом, а каждое следующее сравним с ним. Ноль служит признаком окончания ввода и не участвует в поиске. Логическая переменная found отмечает, было ли введено хотя бы одно ненулевое число.
var n, maximum: integer;
found: boolean;
begin
found := false;
repeat
readln(n);
if n <> then
begin
if not found then
begin
maximum := n;
found := true
end
else if n > maximum then
maximum := n
end
until n = ;
if found then writeln('Максимум: ', maximum)
else writeln('Ненулевых чисел не введено')
end.
Например, для ввода −maximum = −; число −maximum = −. После нуля цикл заканчивается, и выводится −
Максимум всех чисел до завершающего нуля; для примера − он равен −
