Заменить символ строки. если он равен заданному значению - Pascal ABC
Формулировка задачи:
Понимаю, что это ересь, но суть программы вот в чем, вводим строку, выбираем элемент 1,2,3 и т.д.(начать можно и с последнего при этом не обязательно по порядку, т.е. 5,7,1 элемент к примеру), и если этот элемент равен 1 2 3 4 5 тогда его меняем на символ *
Решение задачи: «Заменить символ строки. если он равен заданному значению»
textual
Листинг программы
uses crt; var a:string; i,j,n,k,x:integer; m:set of byte; begin writeln('Введите строку'); readln(a); n:=length(a); repeat write('Сколько элементов выбрать от 1 до ',n,' k='); readln(k); until k in [1..n]; writeln('Выберите ',k,' номеров элементов от 1 до ',n); m:=[]; for i:=1 to k do begin repeat readln(x); until(x in [1..n])and not(x in m); m:=m+[x]; end; for i:=1 to length(a) do if (i in m)and(a[i] in ['1'..'5']) then a[i]:='*'; writeln(a); writeln('обработка данных завершена'); end.
Объяснение кода листинга программы
- Ввод строки от пользователя.
- Переменная
n
инициализируется значением длины введенной строки. - Цикл
repeat
выполняется до тех пор, пока пользователь не введет число от 1 доn
, которое будет использоваться для выбора элементов. - Создается пустое множество
m
. - Для каждого числа
i
от 1 доk
(как введено пользователем) выполняется циклrepeat
. - Внутри цикла
repeat
пользователю предлагается ввести число от 1 доn
. Если это число еще не в набореm
, оно добавляется в него. - После завершения внутреннего цикла
repeat
, переменнаяm
обновляется, чтобы включить все уникальные числа от 1 доn
. - Для каждого символа в строке
a
выполняется проверка: если он равен одному из чисел, которые были введены пользователем и которые присутствуют в набореm
, то этот символ заменяется на*
. - По завершении обработки всех символов, выводится итоговая строка.
- Выводится сообщение о завершении обработки данных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д