Информатика, вопрос задал tolkuevgg , 1 год назад

Напешите программу, которая в последовательности натуральных чисел определяет максимальное число, меньше 1000. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивающихся числом 0 (0-признак окончания ввода, не входит в последовательность).

Количество чисел не привыкает 1000. Введённые числа не превышают 30000.

Программа должна вывести одно число-максимальное число последовательности меньше 1000.

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

Входные данные:

265.

3248

789

35

0

Выходные данные:

789

Обязательно писать программу на языке паскаль!

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

Ответил notyourway
1

Ответ:

var x, max: integer;

begin

   x := -MAXINT;

   max := x;

   while(x <> 0) do

   begin

       readln(x);

       if (x > max) and (x < 1000) and (x <> 0) then max := x;

   end;

   writeln(max);

end.


notyourway: В условии задачи не указано, что требуется делать, если количество введенных чисел превышает 1000 и что делать, если введенное число больше 30000. Но если что, можно использовать этот вариант:
var x, max, count: integer;
begin
count := 0;
x := -MAXINT;
max := x;
while(x <> 0) do
begin
count := count + 1;
if count > 1000 then break;
readln(x);
if x > 30000 then continue;
if (x > max) and (x < 1000) and (x <> 0) then max := x;
end;
writeln(max);
end.
tolkuevgg: Какой смысл того, что ты написал, если вывода нет никокого!
notyourway: Какой вывод тебе нужен?
tolkuevgg: Сравни входные данные и выходные, я пример написал
tolkuevgg: Ладно
tolkuevgg: За труд
notyourway: Разве максимальное значение не выводится? writeln(max); же есть
Новые вопросы