Есть ответ 👍

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

293
311
Посмотреть ответы 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.


ответ:

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.

объяснение:

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

Ilyamoni
4,6(3 оценок)

Хех, помню эти ) весь мозг себе выкрутишь пока такое решишь. благо это еще легкое и решается идеей о делении по модулю dis1 = int( dis2 = int( print((dis2 + dis1 - 1) // dis1)

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

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

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS