Объяснение:
В общем алгоритм такой.
Пусть мы имеем массив a[1..n, 1..n] из n*n элементов,
i - номер строки, j - номер столбца.
Спускаемся вниз по строкам до строки, номер которой отличается от того,
n - четное или нечетное.
В общем случае это номер i_ser, равный n делить на 2, и округленный до целого вниз.
Например, если n = 4, i_ser = 2, если n = 7, то i_ser = 3.
Для i от 1 до i_ser делать
начало
Для j от 1 до i делать
// здесь мы получаем нужные нам координаты i, j
конец
Если i_ser нечетно, то отдельно проходимся по строке с номером i_ser+1
Если i_ser нечетно то
i_ser = i_ser + 1
Для j от 1 до i_ser делать
// здесь мы получаем нужные нам координаты i_ser, j
Для i от i_ser до n делать
Для j от 1 до n - i + 1 делать
var
x, a, b:integer;
ras_x_a, ras_x_b, ras_a_b:integer;
ras_min:integer;
begin
x:=5;
a:=1;
b:=8;
ras_x_a:=abs(x-a);
ras_x_b:=abs(x-b);
ras_a_b:=abs(a-b);
if ((ras_x_a <=ras_x_b) and (ras_x_a <=ras_a_b)) then
ras_min:=ras_x_a
else
if ((ras_x_b <=ras_x_a) and (ras_x_b <=ras_a_b)) then
ras_min:=ras_x_b
if ((ras_a_b <=ras_x_a) and (ras_a_b <=ras_x_b)) then
ras_min:=ras_a_b;
writeln(ras_min);
end.
Объяснение:
В общем алгоритм такой.
Пусть мы имеем массив a[1..n, 1..n] из n*n элементов,
i - номер строки, j - номер столбца.
Спускаемся вниз по строкам до строки, номер которой отличается от того,
n - четное или нечетное.
В общем случае это номер i_ser, равный n делить на 2, и округленный до целого вниз.
Например, если n = 4, i_ser = 2, если n = 7, то i_ser = 3.
Для i от 1 до i_ser делать
начало
Для j от 1 до i делать
// здесь мы получаем нужные нам координаты i, j
конец
Если i_ser нечетно, то отдельно проходимся по строке с номером i_ser+1
Если i_ser нечетно то
начало
i_ser = i_ser + 1
Для j от 1 до i_ser делать
// здесь мы получаем нужные нам координаты i_ser, j
конец
i_ser = i_ser + 1
Для i от i_ser до n делать
начало
Для j от 1 до n - i + 1 делать
// здесь мы получаем нужные нам координаты i, j
конец
Объяснение:
var
x, a, b:integer;
ras_x_a, ras_x_b, ras_a_b:integer;
ras_min:integer;
begin
x:=5;
a:=1;
b:=8;
ras_x_a:=abs(x-a);
ras_x_b:=abs(x-b);
ras_a_b:=abs(a-b);
if ((ras_x_a <=ras_x_b) and (ras_x_a <=ras_a_b)) then
ras_min:=ras_x_a
else
if ((ras_x_b <=ras_x_a) and (ras_x_b <=ras_a_b)) then
ras_min:=ras_x_b
else
if ((ras_a_b <=ras_x_a) and (ras_a_b <=ras_x_b)) then
ras_min:=ras_a_b;
writeln(ras_min);
end.