//PascalABC.NET 3.2 сборка 1318
Const
n=3;
m=4;
Var
ma:array[1..n,1..m] of integer;
ZeroCount:array[1..m] of integer;
i,j,k,buf:integer;
begin
for i:=1 to n do
for j:=1 to m do
readln(ma[i][j]);
writeln('Matrix:');
for i:=1 to n do
begin
for j:=1 to m do
write(ma[i][j]:4);
writeln;
end;
writeln('Count of zero elements:');
for j:=1 to m do
begin
for i:=1 to n do
if ma[i][j]=0 then inc(ZeroCount[j]);
writeln(j,':',ZeroCount[j]);
end;
for i:=1 to m-1 do
for j:=i+1 to m do
if ZeroCount[i]<ZeroCount[j] then
begin
for k:=1 to n do
begin
buf:=ma[k][i];
ma[k][i]:=ma[k][j];
ma[k][j]:=buf;
end;
buf:=ZeroCount[i];
ZeroCount[i]:=ZeroCount[j];
ZeroCount[j]:=buf;
end;
writeln('Final matrix:');
for i:=1 to n do
begin
for j:=1 to m do
write(ma[i][j]:4);
writeln;
end;
end.
Пример работы программы:
Matrix:
2 0 0 -1
0 0 1 -1
-2 -2 1 -2
Count of zero elements:
1:1
2:2
3:1
4:0
Final matrix:
0 2 0 -1
0 0 1 -1
-2 -2 1 -2
1) 30*70*5=1050 байт объем всего текста
2) 4*30*70=8400 бит; 3150*8=25200 бит; 25200/8400=3 бита - вес одного символа. Зная формулу найдем 2^3=8 Значит мощность алфавита равна 8
<em>// PascalABC.NET 3.3, сборка 1561 от 02.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
<em>1)</em>
begin
var (a,b):=ReadInteger2('Введите границы диапазона:');
var Всего:=b-a+1; // количество целых чисел в диапазоне
var Четных,Нечетных:integer;
if a.IsOdd then begin Четных:=Всего div 2; Нечетных:=Всего-Четных end
else begin Нечетных:=Всего div 2; Четных:=Всего-Нечетных end; // четное a
Writeln('Нечетных- ',Нечетных,', четных- ',Четных)
end.
<u>Пример</u>
Введите границы диапазона: -4 4
Нечетных- 4, четных- 5
<em>2)</em>
begin
var (n,a,b):=ReadInteger3('Введите n,a,b:');
SeqRandom(n,a,b).Println
end.
<u>Пример</u>
Введите n,a,b: 15 -10 35
19 33 -10 4 5 -10 10 21 17 21 14 21 24 23 18
Ответ: 121121
50-2=48
48/3=16
16-2=14
14-2=12
12/3=4
4-2=2