Найти и вывести среднее арифметическое цифр, встречающихся в строке - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Вводится произвольная строка символов в состав которой могут входить и цифры. Найти и вывести среднее арифметическое цифр, которые встретились в этой строке. Исправте плиз .
Листинг программы
  1. var
  2. s: string;
  3. i, l: byte;
  4. q: real;
  5. begin
  6. read(st);
  7. s := 0;
  8. m := 0;
  9. y := 0;
  10. for i := 1 to length(st) do
  11. begin
  12. val(st[i], c, e);
  13. g := c;
  14. while g <> 0 do
  15. begin
  16. t := g mod 10;
  17. g := g div 10;
  18. m := m + g;
  19. y := y + 1;
  20. end;
  21. end;
  22. q := m / y;
  23. write(q);
  24. end.

Решение задачи: «Найти и вывести среднее арифметическое цифр, встречающихся в строке»

textual
Листинг программы
  1. begin
  2.   var s := ReadLnString('s = ').Where(ch -> char.IsDigit(ch));
  3.   if s.Count() > 0 then
  4.     WriteLn('Среднее арифметическое цифр = ', s.Average(ch -> StrToInt('' + ch)))
  5.   else WriteLn('В строке нет цифр')
  6. end.

Объяснение кода листинга программы

  1. Переменная s принимает строку, введенную пользователем, с помощью функции ReadLnString.
  2. Метод Where используется для фильтрации символов строки s, оставляя только цифры.
  3. Если в строке остались цифры (количество символов в строке больше 0), то вычисляется среднее арифметическое цифр с помощью метода Average.
  4. Для каждой цифры ch в строке s преобразуется в целое число с помощью функции StrToInt, добавляя к символу пробел.
  5. Если в строке нет цифр, то выводится сообщение В строке нет цифр.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы