Работа 3.8 Упр.9 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 9. Дана строка. Преобразовать ее, удалив каждый символ * и повторив дважды подряд каждый символ, отличный от *. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-8/9 98
Нужно пройти по строке и построить новую:
- если символ равен *, то он удаляется;
- если символ не равен *, то он записывается дважды подряд.
Удобно обрабатывать строку с конца к началу, чтобы при удалении и вставке символов не сбивались индексы.
Алгоритм:
- считать строку s;
- для каждого символа от последнего к первому:
- если $$s[i]=*$$, удалить его;
- иначе вставить этот символ ещё раз на то же место.
В результате каждый обычный символ будет повторён дважды, а все звёздочки исчезнут.
var s:string;
i:integer;
begin
writeln(‘введите строку’);
readln(s);
for i:=length(s) downto 1 do
if s[i]=’*’ then delete(s,i,1)
else insert(s[i],s,i);
write(s);
end.
Ответ
Строка преобразуется так: каждый символ * удаляется, а каждый другой символ повторяется дважды подряд.