Вопрос задан 28.10.2023 в 23:29. Предмет Информатика. Спрашивает Алфёрова Соня.

Во введённой строке определите количество слов, являющихся корректной запи сью шестнадцатеричных

чисел (то есть слова вида «10», «F» и т.п.) Переведитеэти числа в десятичную систему и выведите преобразованную строку.​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Есинов Игорь.

Ответ:

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.

Объяснение:

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

0 0
Отвечает Горбунов Максим.

Ответ:

ВОТ

Объяснение:

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

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

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

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

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

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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения задачи мы можем использовать регулярные выражения, чтобы найти все слова, являющиеся корректными шестнадцатеричными числами, и затем преобразовать их в десятичную систему. Ниже приведен пример кода на языке Python, который реализует это решение: ```python import re def hex_to_decimal(match): hex_num = match.group(0) decimal_num = int(hex_num, 16) return str(decimal_num) def convert_hex_to_decimal(string): pattern = r'\b[0-9a-fA-F]+\b' result = re.sub(pattern, hex_to_decimal, string) return result input_string = input("Введите строку: ") word_count = 0 # Чтобы найти количество слов, совпадающих с шестнадцатеричными числами for word in input_string.split(): if re.match(r'^[0-9a-fA-F]+$', word): word_count += 1 converted_string = convert_hex_to_decimal(input_string) print("Количество корректных шестнадцатеричных чисел:", word_count) print("Преобразованная строка (в десятичной системе):", converted_string) ``` Объяснение кода: 1. Мы импортируем модуль `re`, чтобы использовать его регулярные выражения. 2. Создаем функцию `hex_to_decimal`, которая принимает соответствие (match) и возвращает десятичное представление шестнадцатеричного числа. 3. Создаем функцию `convert_hex_to_decimal`, которая принимает строку и использует регулярное выражение для поиска и преобразования всех шестнадцатеричных чисел. 4. Вводим строку от пользователя. 5. Создаем переменную `word_count`, чтобы отслеживать количество корректных шестнадцатеричных чисел. 6. Используя цикл `for` и метод `split()`, мы проходим по каждому слову в строке. 7. Если слово соответствует шестнадцатеричному числу (т.е. состоит только из символов 0-9 и a-f или A-F), увеличиваем переменную `word_count` на 1. 8. Вызываем функцию `convert_hex_to_decimal` для преобразования шестнадцатеричных чисел в десятичную систему. 9. Выводим количество корректных шестнадцатеричных чисел и преобразованную строку.
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос