Раскодировать строку символов - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Строка символов закодированный так, что буквы и числа идут парами (число показывает место буквы в тексте). Восстановить исходный текст. то есть у нас есть слово чашки. мы должны вывести его на экран в строку мы вводим 2а 3ш 1ч 5и 4к нам нужно вывести слово

Решение задачи: «Раскодировать строку символов»

textual
Листинг программы
function explodeSpace( const s,f: string; num: integer ): string;
var
  i,p,c: integer;
  tmp: string;
begin
  explodeSpace := '';
  str(num , tmp);
  tmp := ' '+tmp + ' '; 
  p := pos(tmp , s);
  c := p + length(tmp) - 1;
  if (p >= 1) AND ( s[ c + 1 ] = ' ' ) then begin
    explodeSpace  := f[c];  
  end;
end;
 
 
var
  i: integer;
  s,f,r,tmp: string;
begin
  readln(s);
  s := '  ' + s + '  ';
  
  f := '';
  for i:=1 to length(s) do 
    if (ord(s[i]) >= ord('0')) AND (ord(s[i]) <= ord('9')) then
      f := f + s[i]
    else
      f := f + ' ';
 
  i := 1;
  while(true) do begin
    tmp := explodeSpace(f , s , i);
    if length(tmp) < 1 then break;
    r := r + tmp;
    i := i + 1;
  end;
  
  writeln( r );
end.

Объяснение кода листинга программы

  1. Функция explodeSpace принимает три параметра: строку s, функцию f и число num. Она возвращает новую строку, в которой символы, разделенные пробелом, заменены на те, которые указаны в функции f.
  2. Переменные i, p и c используются для поиска первого вхождения подстроки tmp в строке s. Переменная p содержит позицию первого символа подстроки tmp в строке s, а переменная c содержит позицию последнего символа подстроки tmp в строке s.
  3. Если p больше или равно 1 и следующий символ в строке s - это пробел, то функция присваивает переменной explodeSpace значение функции f с индексом c.
  4. В основной части программы используется цикл while, который выполняется до тех пор, пока функция explodeSpace возвращает строку. На каждой итерации цикла функция explodeSpace вызывается с функцией f и числом i, увеличиваемым на 1 на каждой итерации. Результат функции explodeSpace добавляется к переменной r.
  5. По завершении цикла выводится значение переменной r.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы