Дана строка, содержащая не более двадцати латинских букв. Все вхождение «max» в ней...

0 голосов
59 просмотров

Дана строка, содержащая не более двадцати латинских букв. Все вхождение «max» в ней заменить на «min» и «макс» на «мин». Подсчитать число таких замен


Информатика (12 баллов) | 59 просмотров
Дан 1 ответ
0 голосов

Uses crt;
var i,zi,zj:integer;
    s,n:String;
begin
clrscr;
repeat
writeln('Введите строку не больше 20 символов.');
readln(s);
until length(s) <=20;<br>for i:=1 to length(s) do
begin
if (s[i] = 'm') or (s[i]='м') then
 begin
      n:=copy(s,i,3);
      if n = 'max' then begin n:='min'; delete(s,i,3); insert(n,s,i); zi:=zi+1; end
      else
      begin
      
n:=copy(s,i,4);
        if n = 'Макс' then begin n:='Мин'; delete(s,i,4); insert(n,s,i); zj:=zj+1; end; 
      end;
end;
end; 
if (zi <> 0) or (zj <> 0) then writeln('В строке заменено ',zi,'раз. слово "max".  А слово "макс" ',zj,'  раз.')
else writeln('В строке не найдено совпадений для замены...');
writeln;
writeln(s);
Readkey;
end.

(456 баллов)