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

Kisonka14 Kisonka14    2   01.10.2019 23:00    0

Ответы
Aigerim735 Aigerim735  09.10.2020 10:32

Ты поддерживаешь переменные 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] > max then max := a[i];

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

 end;

 writeln(max - min);

end.

ПОКАЗАТЬ ОТВЕТЫ
Maks2021 Maks2021  09.10.2020 10:32

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] >z) then z := a[i];

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

 end;

 writeln(z - x);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика