Замените каждую цифру, кроме цифры 0, соответствующей заглавной буквой латинского алфавита - Turbo Pascal
Формулировка задачи:
В процедуру Bukva передаётся строка Q, состоящая из любых символов. Замените
каждую цифру, кроме цифры 0, соответствующей заглавной буквой латинского алфавита: 1
буквой А, 2 буквой B, 3 буквой C, 4 буквой D, и т.д..
(Алфавит - ABCDEFGHIJKLMNOPQRSTUVWXYZ).
Процедура возвращает переданную строку Q с произведёнными изменениями и KOL -
количество таких замен.
МАССИВЫ использовать НЕЛЬЗЯ!!!!
Исходная строка: qwert2asdfgh5@#$h0KJ3qsdfvb
Результат: qwertBasdfghE@#$h0KJCqsdfvb
Решение задачи: «Замените каждую цифру, кроме цифры 0, соответствующей заглавной буквой латинского алфавита»
textual
Листинг программы
procedure Bukva(var s: String; var u: Integer); var c: Char; p: Integer; begin u:=0; for c:='1' to '9' do begin p:=Pos(c,s); while p>0 do begin s:=Copy(s,1,p-1)+Chr(Ord(c)-Ord('1')+Ord('A'))+Copy(s,p+1,255); p:=Pos(c,s); Inc(u); end; end; end;
Объяснение кода листинга программы
- В процедуре Bukva объявлены две переменные: s (строка) и u (целое число).
- Значение переменной u установлено равным 0.
- Цикл for выполняется от символа '1' до символа '9'.
- Внутри цикла переменная c принимает значение каждого из символов от '1' до '9'.
- Переменная p инициализируется значением, которое возвращает функция Pos, которая ищет первое вхождение символа c в строке s.
- Затем, в цикле, строка s изменяется следующим образом: сначала удаляется символ c, затем к первым 1 или 2 символам добавляется заглавная буква, соответствующая символу c, а затем оставшаяся часть строки s копируется без изменений.
- После завершения внутреннего цикла, значение переменной u увеличивается на 1.
- Внешний цикл завершается, когда значение переменной c равно 0.
- В результате выполнения процедуры Bukva, строка s будет содержать каждую цифру от 0 до 9, замененную соответствующей заглавной буквой латинского алфавита.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д