Для подсчета количества каких-либо символов, имеющихся в строке, можно использовать функции:
- countof
- count
В чем разница этих функций, и как их применить к решению задач, разберём в этой публикации.
Функция countof
Пусть дана строка
s:='231привет2432';
Вычислим количество цифр '2':
d:=s.countof('2');
Функция s.countof('2') подсчитывает количество цифр 2 в строке s, и в качестве своего аргумента использует символ 2, заключенный в апострофы.
Пример задачи 1
С клавиатуры вводится строка. Найти количество символов 'Z'.
Программа решения на языке Паскаль
var s:string;k:integer;
begin
readln(s);
k:=s.Countof('Z');
println(k);
end.
Пример задачи 2
С клавиатуры вводится строка. Верно ли, что строка содержит символ '9'?
Программа решения на языке Паскаль
var s:string;k:integer;
begin
readln(s);
k:=s.Countof('9');
if k>0 then writeln('Строка содержит цифру 9')
else writeln('В строке нет цифр 9');
end.
Функция count
Пусть дана строка
s:='flower555';
Вычислим количество цифр '5':
d:=s.count(c->c='5');
Функция s.count(c->c='5') в качестве своего аргумента принимает логическое выражение (условие). Переменная c в данном случае должна быть описана типом char в блоке var.
Преимуществом функции count перед функцией countof можно считать возможность применения сложных условий.
Пример задачи 1
С клавиатуры вводится строка. Найти количество символов 'Z' и 'A'.
Программа решения на языке Паскаль
var s:string;c:char;k:integer;
begin
readln(s);
k:=s.Count(c->(c='Z')or(c<='A'));
println(k);
end.
Результат выполнения программы
Пример задачи 2
С клавиатуры вводится строка. Найти количество символов цифр.
Программа решения на языке Паскаль
var s:string;c:char;k:integer;
begin
readln(s);
k:=s.Count(c->(c>='0')and(c<='9'));
println(k);
end.
Результат выполнения программы
Пример задачи 3
Во введенной строке подсчитать все символы, кроме P.
Программа решения на языке Паскаль
var s:string;k:integer;c:char;
begin
readln(s);
k:=s.Count(c->not(c='P'));
println(k);
end.
Результат выполнения программы
Комментариев нет:
Отправить комментарий