Const n=5; m=6; var x:array[1..n,1..m] of integer; k:array[1..m] of integer; i,j,k0:integer; begin Randomize; For i:=1 to n do begin for j:=1 to m do begin x[i,j]:=Random(20)-10; write(x[i,j]:4); end; writeln; end; for j:=1 to m do begin k0:=0; for i:=1 to n do if x[i,j]<0 then k0:=k0+1; k[j]:=k0; end; writeln('Количество отрицательных элементов в столбцах:'); for j:=1 to m do write(k[j]:4); writeln; end.
Зная количество бит в двоичной записи числа, можно посчитать количество бит в восьмеричной записи, так как из двоичной в восьмеричную систему счисления число можно привести группировкой по трем соседним разрядам, начиная с младших. Например, есть число 1100111. Сгруппируем его разряды: (1)(100)(111)=147 - в восьмеричной СС. Пусть количество разрядов 2-ичного числа равно n. Тогда количество разрядов восьмеричного числа будет n/3, деленное нацело и округленное вверх. n=7 => n/3=7/3. Округляем, будет 3. a) 10111010. n=8 => 8/3 - 3 8-ричных разряда б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов. г) 1375BE. 1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов
m 8 5 n 3 ясно, что основание искомой с/с > 10. Проверим и удостоверимся, что в 11c|c действия выполняются верно. 11 c|c M=6 n = 4 ответ: основание системы 11, m=6, n=4
2. m m 65 n +2 n 4 4 m
5 5 4 2 4 очевидно, что основание искомой с/с > 6. Проверим по действиям в 7 с/с, при сложении в столбик, при m=3 и n=1 и удостоверимся, что всё верно. ответ: осн. с\с = 7, m=3, n=1
var x:array[1..n,1..m] of integer;
k:array[1..m] of integer;
i,j,k0:integer;
begin
Randomize;
For i:=1 to n do begin
for j:=1 to m do begin
x[i,j]:=Random(20)-10;
write(x[i,j]:4);
end;
writeln;
end;
for j:=1 to m do begin
k0:=0;
for i:=1 to n do if x[i,j]<0 then k0:=k0+1;
k[j]:=k0;
end;
writeln('Количество отрицательных элементов в столбцах:');
for j:=1 to m do write(k[j]:4);
writeln;
end.