program DecToBinCount;
uses
SysUtils, StrUtils;
function DecToBin (m: Integer): string;
var
r: Integer;
s: string;
begin
while (m > 0) do Begin
r := m mod 2;
m := m div 2;
s := IntToStr (r) + s;
end;
Result := s;
end;
var
m, n, x, i, c: Integer;
s: string;
begin
Write ('Введите M, N, X: ');
ReadLn (m, n, x);
WriteLn;
c := 0;
for i := m to n do begin
s := DecToBin (i);
if RightStr (s, x) = StringOfChar ('0', x) then begin
WriteLn (s, ' '); // для проверки. после тестирования закомментарить
Inc (c);
end;
end;
WriteLn (c);
ReadLn;
end.
2)Pascal
var s: string;
i, f, g: integer;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
f := pos('<', s);
if f = 0
then begin
write('Нет "<"');
if pos('>', s) = 0
then writeln('и ">"')
else writeln
end
else begin
g := 0;
for i := length(s) downto 1 do
if s[i] = '>'
then begin
g := i;
break
end;
if g = 0
then writeln('Нет ">"')
else if f > g
then writeln('">" левее "<"')
else begin
delete(s, f, g - f + 1);
writeln('Результат:');
writeln(s)
end
end
end.
Если гарантированно, что в тексте есть только по одному правильно расположенному символу "<" и ">", то совсем просто:
Pascal
var s: string;
begin
writeln('Введите строку с угловыми скобками:');
readln(s);
delete(s, pos('<', s), pos('>', s) - pos('<', s) + 1);
writeln('Результат:');
writeln(s)
end.
0