, 1. Найдите в данных кол-во символов , выраженное в байтах : а)100110001110011010011000111000101011110111100010
б) 1010111010010001110011010011000
2. Выполнить задания по системам счисления.
Расположить числа в порядке убывания :
а) 72(8),68(10)38(16)
б) 111011(2),114(8),3А(16)
var
ar:array[1..10] of integer;
max,min,i,kmax,kmin:integer;
begin
randomize;
max:=0;
min:=1000;
for i:=1 to 10 do begin
ar[i]:=random(1000)+1;
if (ar[i] > max) then
begin max:=ar[i]; kmax:=i; end
else if (ar[i] < min) then begin min:=ar[i]; kmin:=i;
end;
write(ar[i],' ');
end;
writeln();
if (kmax > kmin) then for i:=kmin+1 to kmax-1 do write(i,' ')
else if (kmax < kmin) then for i:=kmax+1 to kmin-1 do write(i,' ');
end.
P.S. В решении выше есть далеко ни одна ошибка ;)
//Pascal ABC.NET 3.1 сборка 1219
Type
ty=record
valu:integer;
count:integer;
end;
Const
n=3;
Var
ma:array[1..n,1..n] of integer;
tyar:array of ty;
se:set of integer;
i,j,z,k,MaxCount:integer;
begin
randomize;
se:=[];
k:=0;
MaxCount:=integer.MinValue;
writeln('Matrix:');
for i:=1 to n do
begin
for j:=1 to n do
begin
ma[i,j]:=random(-10,10);
write(ma[i,j]:4);
if not(ma[i,j] in se) then
begin
inc(k);
setlength(tyar,k+1);
tyar[k].valu:=ma[i,j];
tyar[k].count:=1;
se:=se+[ma[i,j]];
end
else
for z:=1 to k do {O(n^3) в худшем случае - нормальные люди ненавидят это}
if tyar[z].valu=ma[i,j] then
begin
inc(tyar[z].count);
break;
end;
end;
writeln;
end;
for i:=1 to k do
if MaxCount<tyar[i].count then MaxCount:=tyar[i].count;
writeln('Res:');
for i:=1 to k do if tyar[i].count=MaxCount then writeln(tyar[i].valu);
end.
Пример работы программы:
Matrix:
-7 -2 10
8 0 -2
6 10 1
Res:
-2
10