1) Разбиваем 32-битный код на 4 группы по 8 цифр и переводим каждую группу из 2-ной системы в 10-ную: 10111110101000110110001000101010 --> 190.163.98.42
2) Аналогично предыдущей задаче, только переводим наоборот, из 10-ной системы счисления в 2-ную: а) 65.128.255.12 --> 01000001100000001111111100001100 б) 192.48.0.24 --> 11000000001100000000000000011000
3)115628382 --> 115.62.83.82 Решаем с конца: - 4-е число не может быть 382, значит оно состоит из одной или двух цифр; - пусть последнее число 2, тогда 3-е может быть только 38, но тогда 2-е получается 628, что невозможно; - тогда пусть последнее число 82, тогда 3-е может быть только 83, тогда 2-е получается 62, а 1-е 115
1 var i,k:integer; a,b:array[1..10]of integer; begin writeln('Исходный массив:'); for i:=1 to 10 do begin a[i]:=random(-10,10); write(a[i]:3) end; for i:=1 to 10 do begin if a[i]<0 then begin k:=k+1; b[k]:=a[i] end end; for i:=1 to 10 do begin if a[i]>=0 then begin k:=k+1; b[k]:=a[i] end end; writeln; writeln('Преобразованный массив:'); for i:=1 to 10 do write(b[i]:3) end.
2. var i,j,k,n,x,p:integer; a,b:array of integer; f:boolean; begin write('Сколько будет чисел: '); readln(n); SetLength(a, n); for i:=1 to n do begin f:=false; write('Введите число: '); readln(x); for j:=0 to n-1 do if x=a[j] then f:=true; if f=false then begin a[k]:=x; k:=k+1; end end; SetLength(b, k); for i:=0 to k-1 do b[i]:=a[i]; for i:= 0 to k-1 do for j := 0 to k-1 do begin if b[i] < b[j] then begin p := b[i]; b[i] := b[j]; b[j] := p end end; writeln('Отсортированный массив:'); for i:=0 to k-1 do write(b[i]:3) end.
2.1 var i,j,k,n,x,p:integer; a:array[1..1000] of integer; f:boolean; begin write('Сколько будет чисел: '); readln(n); k:=1; for i:=1 to n do begin f:=false; write('Введите число: '); readln(x); for j:=1 to n do if x=a[j] then f:=true; if f=false then begin a[k]:=x; k:=k+1; end end; for i:=1 to k-1 do for j:=1 to k-1 do begin if a[i] < a[j] then begin p:= a[i]; a[i]:= a[j]; a[j]:= p end end; writeln('Отсортированный массив:'); for i:=1 to k-1 do write(a[i]:3) end.
10111110101000110110001000101010 --> 190.163.98.42
2) Аналогично предыдущей задаче, только переводим наоборот, из 10-ной системы счисления в 2-ную:
а) 65.128.255.12 --> 01000001100000001111111100001100
б) 192.48.0.24 --> 11000000001100000000000000011000
3)115628382 --> 115.62.83.82
Решаем с конца:
- 4-е число не может быть 382, значит оно состоит из одной или двух цифр;
- пусть последнее число 2, тогда 3-е может быть только 38, но тогда 2-е получается 628, что невозможно;
- тогда пусть последнее число 82, тогда 3-е может быть только 83, тогда 2-е получается 62, а 1-е 115
var
i,k:integer;
a,b:array[1..10]of integer;
begin
writeln('Исходный массив:');
for i:=1 to 10 do
begin
a[i]:=random(-10,10);
write(a[i]:3)
end;
for i:=1 to 10 do
begin
if a[i]<0 then
begin
k:=k+1;
b[k]:=a[i]
end
end;
for i:=1 to 10 do
begin
if a[i]>=0 then
begin
k:=k+1;
b[k]:=a[i]
end
end;
writeln;
writeln('Преобразованный массив:');
for i:=1 to 10 do write(b[i]:3)
end.
2.
var i,j,k,n,x,p:integer;
a,b:array of integer;
f:boolean;
begin
write('Сколько будет чисел: ');
readln(n);
SetLength(a, n);
for i:=1 to n do
begin
f:=false;
write('Введите число: ');
readln(x);
for j:=0 to n-1 do
if x=a[j] then f:=true;
if f=false then
begin
a[k]:=x;
k:=k+1;
end
end;
SetLength(b, k);
for i:=0 to k-1 do b[i]:=a[i];
for i:= 0 to k-1 do
for j := 0 to k-1 do
begin
if b[i] < b[j] then
begin
p := b[i];
b[i] := b[j];
b[j] := p
end
end;
writeln('Отсортированный массив:');
for i:=0 to k-1 do write(b[i]:3)
end.
2.1
var
i,j,k,n,x,p:integer;
a:array[1..1000] of integer;
f:boolean;
begin
write('Сколько будет чисел: ');
readln(n);
k:=1;
for i:=1 to n do
begin
f:=false;
write('Введите число: ');
readln(x);
for j:=1 to n do
if x=a[j] then f:=true;
if f=false then
begin
a[k]:=x;
k:=k+1;
end
end;
for i:=1 to k-1 do
for j:=1 to k-1 do
begin
if a[i] < a[j] then
begin
p:= a[i];
a[i]:= a[j];
a[j]:= p
end
end;
writeln('Отсортированный массив:');
for i:=1 to k-1 do write(a[i]:3)
end.