Next:5.3.4
Свертка вектора
Up:5.3
Программы обработки векторов
Previous:5.3.2
Поиск в упорядоченном векторе
Решение. Для подсчета вхождений букв заведем переменную -- массив счетчиков, в котором для каждой из букв латинского алфавита имеется целая переменная -- счетчик вхождений этой буквы. При последовательном просмотре символов заданного текста слева направо будем увеличивать на единицу счетчик текущей обозреваемой буквы. Для функции СЧЕТ(w, s), означающей количество вхождений символа s в последовательность символов (текст) w, можно записать следующее определение:
Ниже приведена программа, реализующая вычисление функции СЧЕТ для букв латинского алфавита в соответствии с этим определением.
module ПодсчетВхожденийБукв;
var СЧЕТЧИК : array 33
of integer;
S:integer; X: char;
begin
for S := 0 to 32 do СЧЕТЧИК
[S] := 0 end;
(*СЧЕТЧИК[integer(t)
- integer('A')] = СЧЕТ(input1, t)} *)
while ~ Eof do
(* Ограничивающее выражение:
| input1| *)
read(X);
if (X >= 'A') &
(X <='Z') (* X - буква *)
then СЧЕТЧИК [integer(X)-
integer('A')] := СЧЕТЧИК [integer(X)- integer('A')] + 1
(*СЧЕТЧИК[integer(t)
- integer('A')] = СЧЕТ(input1, t)} *)
end
end;
(*СЧЕТЧИК[integer(t)
- integer('A')] = СЧЕТ(input1, t)} *)
for S := 0 to 32 do
if СЧЕТЧИК [S] #
0
then writeln (chr(S+integer('A')),
'встречается', СЧЕТЧИК [S], 'раз')
end
end ПодсчетВхожденийБукв.
Next:5.3.4
Свертка вектора
Up:5.3
Программы обработки векторов
Previous:5.3.2
Поиск в упорядоченном векторе