Для решения примера вспоминаем, что при переходе от шестнадцатиричной системы счисления к двоичной достаточно заменить каждую шестнадцатиричную цифру четырьмя двоичными (тетрадой). Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде. Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения. 12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2) Считаем количество нулей в записи: 9. Это и есть ответ. Комментарии Отметить нарушение
Program z18; Var a: array [1..1000] of string; i,j,l,min,h:integer; s:string;Begin write('Введите строку - '); readln(s); l:=s.Length; i:= 1; j:= 1; while i <= l do begin while (s[i] <> ' ') and (i <= l) do begin a[j]:=a[j] + s[i]; i:= i + 1; if (i > l) then break; end; j:= j + 1; i:= i + 1; end; i:= 2; min:=a[1].Length; while (a[i] <> '') do begin l:=a[i].Length; if (l < min) then h:= i; i:= i + 1; end; writeln(a[h]);End.
Program z19; Var a: array [1..1000] of string; i,j,l,min:integer; s:string;Begin write('Введите строку - '); readln(s); l:=s.Length; i:= 1; j:= 1; while i <= l do begin while (s[i] <> ' ') and (i <= l) do begin a[j]:=a[j] + s[i]; i:= i + 1; if (i > l) then break; end; j:= j + 1; i:= i + 1; end; i:= 1; while (a[i] <> '') do begin if ((a[i] = 'мое') or (a[i] = 'Мое')) then a[i]:= 'наше'; write(a[i], ' '); i:= i + 1; end;End.
Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде.
Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения.
12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2)
Считаем количество нулей в записи: 9. Это и есть ответ.
Комментарии Отметить нарушение
Program z19; Var a: array [1..1000] of string; i,j,l,min:integer; s:string;Begin write('Введите строку - '); readln(s); l:=s.Length; i:= 1; j:= 1; while i <= l do begin while (s[i] <> ' ') and (i <= l) do begin a[j]:=a[j] + s[i]; i:= i + 1; if (i > l) then break; end; j:= j + 1; i:= i + 1; end; i:= 1; while (a[i] <> '') do begin if ((a[i] = 'мое') or (a[i] = 'Мое')) then a[i]:= 'наше'; write(a[i], ' '); i:= i + 1; end;End.