Program array2d;
var
v_range, v_neg, i, j, n: integer;
array: array of array of integer;
i_range, i_neg: array[1..2] of integer;
begin
randomize;
write('введіть n: ');
readln(n);
SetLength(array, n, n);
write('введіть а та b: );
readln(a, b);
for i:= 1 to n do
for j:= 1 to n do
array(i, j) := random(100);
for i:= 1 to n do
for j:= 1 to n do
begin
if array(i, j) in a..b then
begin
if Assigned(v_neg) then
break; {перевірка, чи є негативне значення знайденим}
v_range := array(i, j);
i_range[1] := i;
i_range[2] := j;
end;
if array(i, j) < 0 then
begin
if Assigned(v_range) then
break;
v_neg := array(i, j);
i_neg[1] := 1;
i_neg[2] := 2;
end;
end;
if Assigned(v_range) and Assigned(v_neg) then
begin
array(i_range[1], i_range[2]) := v_neg;
array(i_neg[1], i_neg[2]) := v_range;
end;
writeln('Виконано.');
end.
Координата С (столбец) задана абсолютно, поэтому она останется неизменной.
Координата 5 (строка) задана относительно, поэтому при увеличении номера строки на 1 (с 4 на 5) она тоже увеличится на 1.
Формула будет =$C6+3
//PascalABC.NET
//Версия 3.3, сборка 1611
begin
var a:=ReadSeqIntegerWhile(x->x<>0).ToArray();
a.Transform(x->x*x);
write(a.Sum());
end.
//PascalABC
var
N : integer;
begin
write('Введите число > ');
readln(N);
write('Получите модуль числа > ', abs(N));
end.