Вообще в Паскале такие числа вроде пишутся с точкой типо 3.6 ,тогда он будет принимать их
Вычисляем по формулам:
N = 2^b
I = k*b
Где N - мощность алфавита, b - инф. вес символов, k - количество символов
Отсюда,
128 = 2^b
b = 6
12 кб = 98304 бит
98304 = k * 6
k = 16384
<em>// PascalABC.NET 3.3, сборка 1611 от 06.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
procedure SortInsert(a:array of integer);
// сортировка простыми вставками по убыванию
begin
for var i:=1 to a.Length-1 do
if a[i-1]<a[i] then begin
var (t,j):=(a[i],i-1);
while (j>=0) and (a[j]<t) do begin
a[j+1]:=a[j]; j-=1
end;
a[j+1]:=t
end
end;
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
// приступаем к сортировке четных строк (строк с нечетными индексами)
var row:=1;
while row<=m-1 do begin
var v:=a.Row(row);
SortInsert(v);
a.SetRow(row,v);
row+=2
end;
Writeln('*** Сортированный массив ***'); a.Println(4) // вывод
end.
<u>Пример</u>
Количество строк и столбцов в массиве: 5 9
*** Исходный массив ***
-13 -53 35 84 72 44 76 -78 -93
-86 -82 90 -35 -16 55 -99 -24 -63
64 -29 -34 51 89 4 51 37 80
7 19 81 41 34 -49 64 1 -59
51 -80 71 -13 19 9 -90 7 6
------------------------------------
*** Сортированный массив ***
-13 -53 35 84 72 44 76 -78 -93
90 55 -16 -24 -35 -63 -82 -86 -99
64 -29 -34 51 89 4 51 37 80
81 64 41 34 19 7 1 -49 -59
51 -80 71 -13 19 9 -90 7 6
Var s,p1,p2:string;
a:array['A'..'Z'] of byte;
n,i,j,f:integer; c,sim:char;
begin
readln(n);
readln(s);
for c:='A' to 'Z' do a[c]:=0;
for i:=1 to length(s) do
a[s[i]]:=a[s[i]]+1;
p1:=''; p2:=''; f:=0;
for c:='A' to 'Z' do
begin
for j:=1 to a[c] div 2 do
begin p1:=p1+c; p2:=c+p2; end;
if (a[c] mod 2=1)and(f=0)
then begin sim:=c; f:=1; end;
end;
if f=1 then p1:=p1+sim;
p1:=p1+p2;
writeln(p1);
end.
Пример:
6
QAZQAZ
<span>AQZZQA
PS. Программа проверялась только для коротких (String) строк. Для длинных нужно использовать </span><span>AnsiString.</span>