begin var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('*** Исходный массив ***'); var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var k:=ReadInteger('k='); if a.ElementsByRow.Any(t->t>k) then Writeln('Есть') else Writeln('Нет') end.
Внимание! Если программа не работает, обновите версию!
№1
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
Writeln('Количество отрицательных значений ',a.Where(t->t<0).Count);
end.
Пример
n= 15
3 39 3 2 43 43 -37 -2 -50 3 -25 15 -7 4 21
Количество отрицательных значений 5
№2
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=ReadInteger('k=');
if a.ElementsByRow.Any(t->t>k) then Writeln('Есть')
else Writeln('Нет')
end.
Пример
Количество строк и столбцов в массиве: 5 8
*** Исходный массив ***
-9 48 -98 -35 -33 -29 44 -32
-33 -48 -62 11 45 53 52 90
-96 -1 68 -21 15 -72 -78 -28
44 15 -53 -33 -27 89 -60 -49
28 -73 -99 81 23 -9 -93 -66
k= 92
Нет
16
Объяснение:
1. Алфавит мощностью 26 символов требует для кодирования символа 5 бит (2⁴ < 26 < 2⁵). 22 символа займут 22×5 = 110 бит = 110 / 8 = 13.75 байта, округляем до целого вверх, получаем 14 байт.
2. Номер года обозначается одним из 100 чисел. 2⁶ < 100 > 2⁷, поэтому для кодирования требуется 7 бит.
3. Номер для обозначается одним из 366 чисел. 2⁸ < 366 > 2⁹, поэтому для кодирования требуется 9 бит.
4. Всего для кодирования срока действия потребуется 7+9 = 16 бит = 16/2 = 2 байта
5. Вся информация на пропуске займет 14+2 = 16 байт