Uses crt;
const n=10;
var a:array [1..n] of integer;
i,k: integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(100);
writeln(a[i]);
end;
writeln;
for i:=1 to n-1 do
begin
if abs(a[i])=abs(a[i+1])
then
begin
if ((a[i]>0) and (a[i+1]<0)) or ((a[i]<0) and (a[i+1]>0))
then
inc(k);
end;
end;
writeln(k);
end.
Мудреная схема, надеюсь, что правильно
Begin
var n := 10;
var a := ArrRandom(n, -50, 50);
println('Исходный массив:');
a.Println;
var noChanges: boolean;
repeat
noChanges := true;
for var i := 0 to n - 2 do
if a[i] > a[i + 1] then
begin
swap(a[i], a[i + 1]);
noChanges := false;
end;
until noChanges;
println('Отсортированный массив:');
a.Println;
end.
Информация актуальна - требуется сейчас, пока идёт экзамен.
Информация полная - её достаточно для решения задачи.
Информация достоверная - решение правильное.
Информация непонятная - представлена на незнакомом языке.
Ответ:
-49
Объяснение:
В старшем (левом) разряде указана единица, следовательно записано отрицательное число. Такие числа переводятся в прямой код за три шага.
1. Инвертируем код, т.е. заменяем нули единицами, а единицы нулями
00110000
2. Сложим полученный код числа с единицей, получая прямой код.
00110000 + 1 = 00110001
Прямой код получен. Теперь можно найти число в десятичной системе.
1×2⁵ + 1×2⁴ + 0×2³ + 0×2² + 0×2¹ + 1×2⁰ = 32 + 16 + 1 = 49
3. Поскольку число отрицательное, приписываем знак минус.
-49