Паскаль. Благодарю за помощь! С клавиатуры вводится символьная строка. Определите,...

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

Паскаль. Благодарю за помощь! С клавиатуры вводится символьная строка. Определите, сколько в ней цифр


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

регулярные выражения юзать можно?

Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  Write(ReadlnString('>').Where(c->c in ['0'..'9']).Count)
end.

Тестовое решение:
> Зде3сь спр14ята1ны 5 ци926ф5ры чи35сла8979 "пи"
15

(142k баллов)
0

//PascalABC.NET 3.1 сборка 1200
uses System.Text.RegularExpressions;
begin
var s := ReadlnString('Введите строку - ');
var r := new Regex('[0-9]');
writeln(r.Matches(s).Count);
end.

0

Moжно было просто var r:=Regex.Matches(s,'\d').Count;

0

да, к сожалению редко работаю с регекспами, чтоб помнить(

0 голосов

Var s:string; k,i:integer;
begin
write('Введите строку:');
readln(s);
k:=0;
for i:=1 to length(s) do
 if (s[i]>='0')and(s[i]<='9') then k:=k+1;<br>writeln('k = ',k);
end.

Пример:
Введите строку:
13 апреля 2016 г .
k = 6

(194k баллов)