PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018 Внимание! Если программа не работает, обновите версию!
begin var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('*** Исходный массив ***'); var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var (p,q):=ReadInteger2('Укажите номера строк для обмена: '); a.SwapRows(p-1,q-1); Writeln('*** Полученный массив ***'); a.Println(4); (p,q):=ReadInteger2('Укажите номера столбцов для обмена: '); a.SwapCols(p-1,q-1); Writeln('*** Полученный массив ***'); a.Println(4); end.
Var A: array [1..5, 1..5] of integer; i, j, tmp, FL, SL: integer; begin for i := 1 to 5 do begin for j := 1 to 5 do begin A[i, j] := random(101)-50; write(A[i, j]:4); end; writeln; end;
writeln('Обмен строк.'); write('Введите два числа(№ строк) = '); readln(FL, SL); for j := 1 to 5 do begin tmp := A[FL, j]; A[FL, j] := A[SL, j]; A[SL, j] := tmp; end; for i := 1 to 5 do begin for j := 1 to 5 do write(A[i, j]:4); writeln; end;
writeln('Обмен столбцов.'); write('Введите два числа(№ столбцов) = '); readln(FL, SL); for i := 1 to 5 do begin tmp := A[i, FL]; A[i, FL] := A[i, SL]; A[i, SL] := tmp; end; for i := 1 to 5 do begin for j := 1 to 5 do write(A[i, j]:4); writeln; end;
32 буквы
Объяснение:
I = K × i, где
I - вес (объём) всего сообщения в бит; (50 байт = 50 × 8 = 400 бит)
K - количество символов в сообщении; (80)
i - вес одного символа в бит.
Меняем стороны местами
Делим обе стороны на 80
i = 5
, где
N - мощность алфавита (количество букв // символов);
i - вес одного символа в бит. (5)
⇒ N = 32 (символа) - мощность алфавита.