Есть ответ 👍

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

263
375
Посмотреть ответы 3

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


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.


ты поддерживаешь переменные 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.


0,25 Кбайт=256 байт= 2048 бит

2048/8=256 символов

Популярно: Информатика