Написать программу в паскаль Ввести текст состоящий из слов , разделённых между собой...

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

Написать программу в паскаль
Ввести текст состоящий из слов , разделённых между собой запятыми.
Сколько раз в тексте встречается слова "Мама" В найденных словах изменить букву "М" на букву "П"


Информатика (109 баллов) | 33 просмотров
0

Да

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('>');
  var a:=s.ToWords(',');
  Writeln('Количество слов "Мама": ',a.Where(w->w='Мама').Count);
  s:=(s+',').Replace('Мама,','Пама,'); Delete(s,s.Length,1);
  s.Println
end.

Пример
> Мама,мама,что,я,буду,делать,Мама,мама,как,я,буду,жить
Количество слов "Мама": 2
Пама,мама,что,я,буду,делать,Пама,мама,как,я,буду,жить

(150k баллов)
0

Можно через регекспы, это проще

0

то что вы написали тоже вроде не проходят)))

0

Можно было Substring написать

0

Таким макаром регекспы тоже пройдут

0

даже так

0

begin
var s := ReadlnString('>');
var r := new Regex('\bМама\b');
PrintLn(r);
Writeln('Количество слов "Мама": ', r.Matches(s).Count);
s := r.Replace(s, 'Пама');
s.Println;
end.