Число 113: для него прямой, обратный и дополнительный коды совпадают, так как оно положительное.
113(10)=01110001(2)
Число (-36):
Прямой код: 36(10)=00100100(2)
Обратный код (код, в котором меняем 0 на 1, а 1 на 0 в прямом коде):
-36(10) - обратный код 11011011(2)
Дополнительный код (к младшему разряду обратного кода прибавляем 1):
-36(10) - дополнительный код 11011100(2) - это число -36 в доп.коде
Сложим 113+(-36) в двоичных кодах:
01110001(2)+11011100(2)=1 0100 1101(2). Старшую единицу отбрасываем, получаем:
01001101(2)=77(10)
Проверим: 113-36=77 в десятичной с/с
Давай попробуем разобраться
а=8
а=-5+(а+2)=-5+(8+2)=-5+10=5
b=(-a-a)*a=(-5-5)*5=-10*5=-50
c=(b-a)*(2-a)=(-50-5)*(2-5)=-55*(-3)=165
Поэтому с=165 и это ПРАВИЛЬНЫЙ ответ при твоих исходных данных(написанных операторах языка Бейсик). То, что этого ответа нет в предложенных вариантах может обозначать, что
1. Ты ошиблась в условии при написании операторов.
2. Ты ошиблась при перечислении вариантов
3. Авторы задачи очень далеки от программирования, поэтому сами не знают ответа, а в качестве ответа написали набор случайных чисел.
Что на самом деле - не знаю, уточняй сама.
const
n = 10;
var
a: array[1..n] of integer;
i, j, c, nc, max, imax: integer;
p:BigInteger;
begin
// Заполним массив сл. числами
max := -MaxInt;
for i := 1 to n do
begin
a[i] := random(-100, 100);write(a[i]:4);
if abs(a[i]) > max then begin
max := a[i];imax := i;
end;
end;
writeln;
//1. Количество элементов массива, больших С.
writeln('Введите число "с"');readln(c);
for i := 1 to n do if a[i] > c then nc := nc + 1;
writeln('Элементов больше чем ', c, ' : ', nc);
//2. произведение элементов массива,
//расположенных после мак симального
//по модулю элемента
p := 1;
for i := imax + 1 to n do p := p * a[i];
writeln('Максимальный по модулю элемент находится на ', imax, ' месте');
writeln('Произведение элементов массива,расположенных после максимального по модулю элемента ', p);
//3. Преобразовать массив таким образом, чтобы сначала размещались все
//отрицательные элементы, а потом все положительные
for i := 1 to n - 1 do
for j := 1 to n - i do
if a[j] > a[j + 1] then begin
swap(a[j], a[j + 1]);
end;
writeln('Преобразованный массив :');
for i := 1 to n do write(a[i]:4);
end.
Тестовое решение:
-6 91 52 62 -28 -64 86 86 -91 -61
Введите число "с"
15
Элементов больше чем 15 : 5
Максимальный по модулю элемент находится на 2 месте
Произведение элементов массива,расположенных после максимального по модулю элемента -1246076928
Преобразованный массив :
-91 -64 -61 -28 -6 52 62 86 86 91