В массиве из 5 частей, заданных с клавиатуры, найдите разность меж

В массиве из 5 частей, данных с клавиатуры, найдите разность меж наивеличайшим и минимальным элементом (pascal abc)

Задать свой вопрос
2 ответа

var

 a: array[1..5] of integer;

 i, z, x: integer;

begin

 z := -1;

  x:=1;

 for i := 1 to 5 do

 begin

   read(a[i]);

   if (a[i] gt;z) then z := a[i];

   if (a[i] lt;x) then x := a[i];

 end;

 writeln(z - x);

end.

Ты поддерживаешь переменные min и max для хранения наивеличайшего и меньшего частей массива. Когда ты вводишь элемент, ты проверяешь - если введённый элемент больше величайшего, ты обновляешь наибольший. Если введённый элемент меньше меньшего, ты обновляешь меньший.

Важно задать min и max такие начальные значения, чтобы наибольший и наименьший элементы посчитались правильно. Для этого max необходимо присвоить настолько большое значение, что при проверке задачи его не будут вводить. Для min необходимо задать очень махонькое значение, которое тоже гарантированно не будет введено. Обычно диапазон вводимых чисел оговаривается в условии.


Код

var

 a: array[1..5] of integer;

 i, max, min: integer;


begin

 max := -32000;

 min := 32000;

 for i := 1 to 5 do

 begin

   read(a[i]);

   if a[i] gt; max then max := a[i];

   if a[i] lt; min then min := a[i];

 end;

 writeln(max - min);

end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт