121. Изобразите в декартовой прямоугольной системе коорди- нат область, в которой и только в которой истинно логи- ческое выражение: а) (у >= x) и (у = -х) и (у <= 5); б) (x >= -3) и (x <= 3) и (у >= -3) и (у <= 3).
const n = 8, m = 8; var A: array[1..n,1..m] of integer; i, j, sum, product: integer; isnotnull: boolean; begin randomize; writeln('Случайная матрица:'); for i:=1 to n do begin for j:=1 to m do begin A[i,j] := random(51) - 25; write(A[i,j]:5); end; writeln; end; sum := 0; for i:=1 to n do if A[i,n-i+1] < 0 then sum := sum + A[i,n-i+1]; writeln('Сумма отрицательных элементов побочной диагонали = ', sum); product := 1; isnotnull := False; for i:=1 to n-1 do for j:=2 to n do if (j > i) and (A[i,j] <> 0) then begin isnotnull := True; product := product * A[i,j]; end; if isnotnull writeln('Произведение ненулевых элементов в области выше главной диагонали = ', product) else writeln('Ненулевых элементов в области выше главной диагонали нет.', product); readln; end.
const n=15; var a: array[1..n] of integer; k,k2: integer; i: byte; begin randomize; k:=0; writeln ('Исходный массив:'); for i:=1 to n do begin a[i]:=random(10); write (a[i]:3); if a[i]=8 then begin k:=k+1; a[i]:=0; end; end; writeln; if k=0 then writeln ('Нет элементов, равных 8') else writeln ('Количество элементов, равных 8: ',k); k2:=0; writeln; writeln ('Измененный массив:'); for i:=1 to n do begin write (a[i]:3); if a[i]=0 then k2:=k2+1; end; writeln; if k2=0 then writeln ('Нет элементов, равных 0') else writeln ('Количество элементов, равных 0: ',k); a[n]:=k*8; writeln ('Сумма первоначальных восьмерок и нулей = ',a[n]); writeln ('Количество восьмерок (изначальных) и нулей = ',k+k2); end.
что-то типа этого:
const n = 8, m = 8;
var
A: array[1..n,1..m] of integer;
i, j, sum, product: integer;
isnotnull: boolean;
begin
randomize;
writeln('Случайная матрица:'); for i:=1 to n do begin
for j:=1 to m do begin
A[i,j] := random(51) - 25;
write(A[i,j]:5);
end;
writeln;
end; sum := 0;
for i:=1 to n do
if A[i,n-i+1] < 0 then
sum := sum + A[i,n-i+1];
writeln('Сумма отрицательных элементов побочной диагонали = ', sum); product := 1;
isnotnull := False;
for i:=1 to n-1 do
for j:=2 to n do
if (j > i) and (A[i,j] <> 0) then begin
isnotnull := True;
product := product * A[i,j];
end;
if isnotnull
writeln('Произведение ненулевых элементов в области выше главной диагонали = ', product)
else
writeln('Ненулевых элементов в области выше главной диагонали нет.', product); readln;
end.
const n=15;
var
a: array[1..n] of integer;
k,k2: integer;
i: byte;
begin
randomize;
k:=0;
writeln ('Исходный массив:');
for i:=1 to n do begin
a[i]:=random(10);
write (a[i]:3);
if a[i]=8 then begin k:=k+1; a[i]:=0; end;
end;
writeln;
if k=0 then writeln ('Нет элементов, равных 8')
else writeln ('Количество элементов, равных 8: ',k);
k2:=0;
writeln;
writeln ('Измененный массив:');
for i:=1 to n do begin
write (a[i]:3);
if a[i]=0 then k2:=k2+1;
end;
writeln;
if k2=0 then writeln ('Нет элементов, равных 0')
else writeln ('Количество элементов, равных 0: ',k);
a[n]:=k*8;
writeln ('Сумма первоначальных восьмерок и нулей = ',a[n]);
writeln ('Количество восьмерок (изначальных) и нулей = ',k+k2);
end.
Результат:
Исходный массив:
5 8 2 2 3 7 2 8 3 3 4 2 3 2 5
Количество элементов, равных 8: 2
Измененный массив:
5 0 2 2 3 7 2 0 3 3 4 2 3 2 5
Количество элементов, равных 0: 2
Сумма первоначальных восьмерок и нулей = 16
Количество восьмерок (изначальных) и нулей = 4