Найти и вывести среднее арифметическое цифр, встречающихся в строке - PascalABC.NET
Формулировка задачи:
Вводится произвольная строка символов в состав которой могут входить и цифры. Найти и вывести среднее арифметическое цифр, которые встретились в этой строке.
Исправте плиз .
Решение задачи: «Найти и вывести среднее арифметическое цифр, встречающихся в строке»
textual
Листинг программы
begin
var s := ReadLnString('s = ').Where(ch -> char.IsDigit(ch));
if s.Count() > 0 then
WriteLn('Среднее арифметическое цифр = ', s.Average(ch -> StrToInt('' + ch)))
else WriteLn('В строке нет цифр')
end.
Объяснение кода листинга программы
- Переменная
sпринимает строку, введенную пользователем, с помощью функции ReadLnString. - Метод Where используется для фильтрации символов строки
s, оставляя только цифры. - Если в строке остались цифры (количество символов в строке больше 0), то вычисляется среднее арифметическое цифр с помощью метода Average.
- Для каждой цифры
chв строкеsпреобразуется в целое число с помощью функции StrToInt, добавляя к символу пробел. - Если в строке нет цифр, то выводится сообщение
В строке нет цифр.