На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 бит:
1)
const N = 10;
var A: array [1..N, 1..N] of integer;
i, j, maxMain, maxSecond: integer;
begin
writeln('A: ');
for i:= 1 to N do
begin
for j:= 1 to N do
begin
A[i, j]:= random(-30, 30);
write(A[i, j]:4);
end;
writeln();
end;
for i:=1 to N do
begin
for j:= 1 to N do
begin
if (i = j) and (maxMain < A[i, j]) then
maxMain := A[i, j];
if (i + j = N + 1) and (maxSecond < A[i, j]) then
maxSecond := A[i, j];
end;
end;
writeln('Макс. на глав. диагонали: ' + maxMain);
writeln('Макс. на побочной. диагонали: ' + maxSecond);
end.
2)
const N = 10;
var A: array [1..N] of real;
B, C: array of real;
i: integer;
begin
write('A: ');
for i:= 1 to N do
begin
A[i]:=random(-10, 10);
write(A[i] + ' ');
end;
writeln();
for i:=1 to N do
begin
if (a[i] > 0) then
begin
SetLength(B, Length(B) + 1);
B[High(B)]:=a[i];
end;
if (a[i] < 0) then
begin
SetLength(C, Length(C) + 1);
C[High(C)]:=a[i];
end;
end;
write('B: ');
for i:= 0 to Length(B) - 1 do
write(B[i] + ' ');
writeln();
write('C: ');
for i:= 0 to Length(C) - 1 do
write(C[i] + ' ');
writeln();
end.