Если ввожу число в интервале от 10 до 20, то все считается правильно (фото 2).
Но если я ввожу число в интервале от -1 до 10, то ничего не происходит (фото 3).
Помогите пожалуйста исправить ошибку в коде.
Прилагаю код программы:
--------------------------------------------------------------------------------------
{ 1. Задаем массив и выводим на экран }
program massiv;
{ uses crt; }
type matr= array[-50..50,-50..50] of integer;
procedure vvod (var b:matr; n,m:integer);
var i,j:integer;
begin
cls;
for i:=1 to 5 do
for j:=1 to 7 do
b[i,j]:=random(10);
end;
procedure vivod ( b:matr; n,m:integer);
var i,j:integer;
begin
for i:=1 to 5 do
begin
for j:=1 to 7 do
write(b[i,j]:4);
writeln;
end;
end;
//----------------------------------------------------------------------------
var b:matr; n,m:integer;
a,i,j,t,min2,min1,buf:integer;
X: array [1..60] of integer;
Y: array [1..60] of integer;
Z:real;
BEGIN
writeln('Massiv B: ');
vvod(b,n,m);
vivod(b,n,m);
{ 2. Вводим целое число }
writeln;
write('Vvedite celoe chislo: ');
read(a);
{ 3. Интервал от 10 до 20 }
// Преобразование каждого элемента на -8
for i:=1 to 5 do begin
for j:=1 to 7 do begin
if(a>=10) then if (a<=20) then begin
writeln;
write('Преобразованный массив: ');
b[i,j]:=b[i,j]-8;
{ 4. Если элемент B[i,j]>=0, то выполнить преобразование дальше }
writeln;
for i:=1 to 5 do begin
for j:=1 to 7 do begin
if B[i,j]>=0 then
t:=B[i,j]-8
{ 5. Если меньше - то умножить элемент на -1 и продолжить преобразазование }
else
if B[i,j]<0 then
t:=B[i,j]*(-1)-8;
write(t:4);
end;
{ 6. Интервал -1 до 10 }
// Вычислить Z=(exp(|Xmin|)-exp(|Ymin|)/10
if(a>=-1) then if (a<=10) then begin
cls;
{Задаём массив X}
buf:=random(50);
for i:=1 to 14 do
begin
X[i]:=buf;
buf:=random(101) - 50;
end;
{Выводим массив X}
writeln ('Массив X');
for i:=1 to 14 do
begin
write ('X[',i, ']=',X[i], ' ');
end;
writeln;
{Задаём массив Y}
buf:=random(50) ;
for i:=1 to 16 do
begin
Y[i]:=buf;
buf:=random(101) - 50;
end;
{Выводим массив Y}
writeln ('Массив Y');
for i:=1 to 16 do
begin
write ('Y[',i, ']=',Y[i], ' ');
end;
{Находим минимум массива Х}
min1:=X[1];
for i:=1 to 14 do
begin
if X[i] <= min1 then
min1:=X[i];
end;
writeln;
writeln ('minX=', min1);
{Находим минимум массива Y}
min2:=Y[1];
for i:=1 to 16 do
begin
if Y[i] <= min2 then
min2:=Y[i];
end;
writeln ('minY=', min2);
Z:=(exp(abs(min1))-exp(abs(min2))/10);
Writeln ('z=',z);
end;
end;
end;
end;
end;
end.


