Предмет:
ИнформатикаАвтор:
barronАвтор:
dimas95Автор:
ariesspfhКак-то так:
//fpc 3.0.0
program HelloWorld;
var
str, ps1, zm1, ps2, zm2: string;
errors, i: integer;
begin
// обнуляем ошибки
errors:= 0;
// просим строку
writeln('Enter string: ');
readln(str);
ps1:= 'чя'; // ищем в строке
zm1:= 'ча'; // меням на
ps2:= 'щя'; // ищем в строке
zm2:= 'ща'; // меняем на
// перебираем строку посимвольно
for i:=length(str) downto 1 do
// если нашли нужную подстроку, которая в ps1
if copy(str,i,length(ps1))=ps1 then
begin
inc(errors); // увеличиваем счетчик ошибок
insert(zm1,str,i); // вставояем перед найденой подстрокой нашу новую подстроку из zm1
delete(str,i+length(zm1),length(ps1)); // удаляем старую подстроку
end;
// перебираем строку посимвольно
for i:=length(str) downto 1 do
// если нашли нужную подстроку, которая в ps2
if copy(str,i,length(ps2))=ps2 then
begin
inc(errors); // увеличиваем счетчик ошибок
insert(zm2,str,i); // вставояем перед найденой подстрокой нашу новую подстроку из zm2
delete(str,i+length(zm2),length(ps2)); // удаляем старую подстроку
end;
// выводим
writeln('Количество ошибок = ', errors);
writeln('Исправленная строка: ', str);
end.
Результат работы в приложении. Более читабельную версию кода можно посмотреть и проверить тут: https://rextester.com/OWVV92742
Автор:
kylie61Добавить свой ответ
Предмет:
Русский языкАвтор:
isiahОтветов:
Смотреть
Предмет:
МатематикаАвтор:
azkaban5n6cОтветов:
Смотреть
Предмет:
Английский языкАвтор:
brown25Ответов:
Смотреть