2AF (16) = 10 1010 1111 (2)
Вычисляется подстановкой из таблицы
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
A = 10 = 1010
B = 11 = 1011
C = 12 = 1100
D = 13 = 1101
E = 14 = 1110
F = 15 = 1111
2AF (16) = 1257 (8)
Вычисляется после преобразования в 2-ю систему счисления и деления двоичного числа на триады (группа цифр по 3).
Тогда получим: 001 010 101 111(2)=1 2 5 7 (8) = 1257(8)
При чтении массива вложенный цикл, а переменная одна и та же j ,
for j:=1 to 4 do
begin
for j:=1 to 4 do
замените в первом цикле
for i:=1 to 4 do
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(10,-50,50); a.Println;
var p:integer:=0;
for var i:=0 to 9 do
if a[i]=0 then begin p:=i+1; break end;
if p>0 then Writeln('Номер первого нулевого элемента ',p)
else Writeln('В массиве нет нулевых элементов')
end.
<u>Пример</u>
30 22 29 -47 11 39 13 0 46 22
Номер первого нулевого элемента 8