Есть ответ 👍

Во введённой строке определите количество слов, являющихся корректной запи
сью шестнадцатеричных чисел (то есть слова вида «10», «f» и т.п.) переведите
эти числа в десятичную систему и выведите преобразованную строку.​

237
341
Посмотреть ответы 3

Ответы на вопрос:


ответ:

вот

объяснение:

const cf: string[16]='0123456789abcdef'; //цифры в сс 16

      tt: array[1..16] of string[4]= ('','0001','0010','0011', //тетрады в сс16

                                    '0100','0101','0110','0111',

                                    '1000','1001','1010','1011',

                                    '1100','1101','1110','');

var s16,s2,s: string;

    f: boolean;

    i,j: byte;

begin

repeat

writeln('введите число в сс 16');

readln(s16);

s16: =uppercase(s16); //переводим в верхний регистр

if s16[1]='-' then i: =2 else i: =1;

while(i< =length(s16))and(pos(s16[i],cf)> 0) do inc(i);

if i< =length(s16) then writeln('число введено неверно, повторите');

until i> length(s16);

f: =s16[1]='-'; //отрицательное

s2: =''; //переводим в сс 2

if f then delete(s16,1,1);

for i: =1 to length(s16) do

s2: =s2+tt[pos(s16[i],cf)];

if f then s2: ='-'+s2;

writeln('число в сс 2=',s2)

end.

Gdyxtk
4,5(43 оценок)

ответ:

program setof;

var

  n16: set of char;

  s, w: string;

  i, n: integer;

  c: char;

  is16: boolean;

begin

  n16 : = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];

  write ('введите строку: ');

  readln (s);

  w : = '';

  is16 : = true;

  n : = 0;

  for i : = 1 to length (s) do begin

    c : = s [i];

    if (c = ' ') or (i = length (s)) then begin

      if is16 then begin

        inc (n);

        writeln (w);

      end;

      w : = '';

      is16 : = true;

      continue;

    end;

    if is16 and (c in n16) then

      w : = w + c

    else begin

      is16 : = false;

      w : = '';

    end;

  end;

  writeln ('количество 16-ричных чисел = ', n);

  readln;

end.

объяснение:

в вводимой строке символ разделитель - пробел

mariach1
4,4(84 оценок)

Для общей работы                  ⇄⇄⇄⇄⇄⇄⇄⇄⇄ и обмена информацией

Популярно: Информатика