Const n = 2; m = 5; var a: array [1..n, 1..m] of integer; i, j, x: integer; begin writeln('Исходная матрица: '); for i := 1 to n do begin for j := 1 to m do begin a[i, j] := random(15) + 1; write(a[i, j]:4); end; writeln; end; for j := 1 to m do begin x := a[1, j]; a[1, j] := a[2, j]; a[2, j] := x; end; writeln; writeln('Итоговая матрица: '); for i := 1 to n do begin for j := 1 to m do write(a[i, j]:4); writeln; end; end.
В качестве примера равномерного кода можно назвать ASCII-таблицу, где каждому из 256 символов сопоставлено двоичное значение от 00000000 до 11111111. Независимо от вероятности появления символа на его представление отводится 1 байт, или 8 бит. Как известно, национальные языки обладают большой избыточностью, то есть разницей между энтропией источника и максимально возможной энтропией, обусловленной равной вероятностью появления любого символа из алфавита. Например, избыточность русского языка составляет 70%, а английского – 50%. Это в частности означает, что некоторые буквы появляются в тексте гораздо чаще других и поэтому использовать равномерное кодирование нерационально. При неравномерном кодировании часто встречающимся символам сопоставляются более короткие кодовые последовательности, редко встречающимся – более длинные. За счет этого удается значительно сократить объем файла без потерь информации. Существует несколько методов неравномерного кодирования, важнейших из которых является метод Шеннона-Фано. как-то так
//где-то не закрыла begin end var A:array [1..40] of integer; sa,s3,s10,k,i: integer; begin sa:=0; s10:=0; s3:=0; k:=0; writeln('исходные значения'); for i:=1 to 40 do begin A[i]:= random(21); write(A[i],'') end; writeln; for i:=1 to 40 do begin if A[i]mod 2<>0 then begin sa:=sa+A[i]; k:=k+1; if A[i]<10 then s10:=s10+A[i]; if A[i] mod 3=0 then s3:=s3+A[i]; //здесь было странное выражение end; end; //здесь writeln('среднее арефмитическое нечетных чисел',sa/k:5:0); writeln('сумма чисел, не превышающих', s10); writeln('сумма чисел, кратных трем', s3); End.
n = 2; m = 5;
var
a: array [1..n, 1..m] of integer;
i, j, x: integer;
begin
writeln('Исходная матрица: ');
for i := 1 to n do
begin
for j := 1 to m do
begin
a[i, j] := random(15) + 1;
write(a[i, j]:4);
end;
writeln;
end;
for j := 1 to m do
begin
x := a[1, j];
a[1, j] := a[2, j];
a[2, j] := x;
end;
writeln;
writeln('Итоговая матрица: ');
for i := 1 to n do
begin
for j := 1 to m do
write(a[i, j]:4);
writeln;
end;
end.