Программа на минимальное и максимальное введённое число - Pascal ABC

Формулировка задачи:

Столкнулся с проблемой в задаче С клавиатуры вводятся числа до тех пор, пока не будет введено число нуль. Найдите среднее арифметическое минимального и максимального введённых чисел. Делал с помощью цикла while, сказали, что через массив нельзя
var x,min,max: real;
begin
 max:=0;
 min:=0;
 readln (x);
 while x<>0 do
   begin 
   if max<x then max:=x;
   if min>x then min:=x;
   readln (x);
   end;
 x:=(min+max)/2;
 write (x);
 end.
Проблема в том, что программа постоянно считает нуль за наименьшее число и получается так, что наибольшее из вводимых просто делится на два, подскажите пожалуйста как можно это исправить?

Код к задаче: «Программа на минимальное и максимальное введённое число - Pascal ABC»

textual
var
  x, min, max: real;
 
begin
  readln(x);
  max := x;
  min := x;
  while x <> 0 do
  begin
    if max < x then max := x;
    if min > x then min := x;
    readln(x);
  end;
  x := (min + max) / 2;
  write(x);
end.

14   голосов, оценка 4.214 из 5


СОХРАНИТЬ ССЫЛКУ