Пусть нужно обнулить какой-либо бит в переменной типа byte (например, бит 3). Определим сначала число, содержащее единицы во всех битах, кроме третьего. Максимальное число, которое можно записать в тип byte, равняется 255. Чтобы в нем обнулить третий бит, вычтем из этого числа третью степень числа 2 (255-8=247). Если это число логически умножить на a, то его единицы никак не скажутся на состоянии переменной a, а нуль в третьем бите независимо от значения третьего бита переменной a даст в результате 0. Итак, имеем a:= a and (255-8). Аналогично можно обнулить несколько битов.
const n=20;
var a:array [1..n] of integer;
i,max,maxi,min,mini:integer;
begin
write('Массив: ');
for i:= 1 to n do
begin
a[i]:=random(101)+50;
write (a[i],' ')
end;
max:=a[1];
maxi:=1;
min:=a[1];
mini:=1;
for i:= 1 to n do
begin
if a[i]>max then
begin
max:=a[i];
maxi:=i
end;
if a[i]<min then
begin
min:=a[i];
mini:=i
end
end;
writeln;
writeln('Максимальный элемент ',max,' и его номер ',maxi);
writeln('Минимальный элемент ',min,' и его номер ',mini)
end.
Или (если max или min элемент будет не один)
const n=20;
var a:array [1..n] of integer;
i,max,min:integer;
begin
write('Массив: ');
for i:= 1 to n do
begin
a[i]:=random(101)+50;
write (a[i],' ')
end;
max:=a[1];
min:=a[1];
for i:= 1 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i]
end;
writeln;
for i:= 1 to n do
begin
if a[i]=max then writeln('Максимальный элемент ',max,' и его номер ',i);
if a[i]=min then writeln('Минимальный элемент ',min,' и его номер ',i)
end
end.
Пусть нужно обнулить какой-либо бит в переменной типа byte (например, бит 3). Определим сначала число, содержащее единицы во всех битах, кроме третьего. Максимальное число, которое можно записать в тип byte, равняется 255. Чтобы в нем обнулить третий бит, вычтем из этого числа третью степень числа 2 (255-8=247). Если это число логически умножить на a, то его единицы никак не скажутся на состоянии переменной a, а нуль в третьем бите независимо от значения третьего бита переменной a даст в результате 0. Итак, имеем a:= a and (255-8). Аналогично можно обнулить несколько битов.