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

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

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


спросил от Начинающий (590 баллов) в категории Информатика
оставил комментарий от Доцент (53.1k баллов)

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

2 Ответы

0 голосов
ответил от Архангел (142k баллов)
 
Лучший ответ

// 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

оставил комментарий от Доцент (53.1k баллов)

//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.

оставил комментарий от Архангел (142k баллов)

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

оставил комментарий от Доцент (53.1k баллов)

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

0 голосов
ответил от БОГ (194k баллов)

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

...