Const n=20; var a,b:array[1..n] of integer; i,j,k,m,c:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(51)-25; write(a[i]:5); end; writeln; j:=0; for i:=1 to n do if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end; m:=j; for k := 1 to m-1 do for i := 1 to m-k do if (b[i]<b[i+1]) then begin c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c; end; writeln('Вс массив:'); for i:=1 to m do write(b[i]:5); writeln; j:=0; for i:=1 to n do if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end; writeln('Полученный массив:'); for i:=1 to n do write(a[i]:5); writeln; end.
Объяснение:
V - это знак "ИЛИ"
& - знак "И"
Действия тут выполняются как в математике:
Сначала умножение (знак &), потом сложение (знак V)
Ну или сначала в скобках действия выполняются.
Для этого есть специальная таблица:
0 v 0 = 0
0 v 1 = 1
1 v 0 = 1
1 v 1 = 1
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
2)
(((1 v 0) v 1) v 1)
1 v 0 = 1
1 v 1 = 1
1 v 1 = 1
ответ: 1
7)
((0 & 0) v 0) & (1 v 1)
0 & 0 = 0
0 v 0 = 0
1 v 1 = 1
0 & 1 = 0
ответ: 0
9)
((1 & A) v (B & 0)) v 1
Начнём со второй скобки:
B & 0 = 0 в любом случае. Остаётся:
((1 & A) v 0)) v 1
Если A = 1, то:
1 & 1 = 1
1 v 0 = 1
1 v 1 = 1
Если A = 0, то:
1 & 0 = 0
0 v 0 = 0
0 v 1 = 1
ответ: 1 в любом случае, даже можно было не решать, так как в конце стоит " v 1 " - это значит, что в любом случае ответ будет 1
var
a,b:array[1..n] of integer;
i,j,k,m,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(51)-25;
write(a[i]:5);
end;
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end;
m:=j;
for k := 1 to m-1 do
for i := 1 to m-k do
if (b[i]<b[i+1]) then
begin
c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c;
end;
writeln('Вс массив:');
for i:=1 to m do write(b[i]:5);
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end;
writeln('Полученный массив:');
for i:=1 to n do write(a[i]:5);
writeln;
end.
Пример:
Исходный массив:
-15 -8 -6 -13 15 24 5 -2 14 -1 19 -2 -7 -8 -23 20 -2 7 -2 -10
Вс массив:
-1 -2 -2 -2 -2 -6 -7 -8 -8 -10 -13 -15 -23
Полученный массив:
-1 -2 -2 -2 15 24 5 -2 14 -6 19 -7 -8 -8 -10 20 -13 7 -15 -23