в исходной строке а определить количество слов содержащих ровно п символов строки х.
10-11 класс
|
const
delim = [' ', ',', '.', ':', ';', '!', '?'];{Набор разделителей}
procedure GetWord(s: string; var ib: integer; var pWord: string; var l: integer);
// Возвращает слово pWord, которое является подстрокой s
// Разделителем слов являются один или более символов из delim.
// ib при вызове процедуры указывает на позицию в строке s,
// начиная с которой ведется поиск слова.
// При выходе из процедуры ib - позиция начала найденного слова,
// l- длина найденного слова, l=0 если слово не найдено.
var
i, n: integer;
w: string;
begin
n := Length(s);
l := 0;
w := '';
if ib >= n then begin
ib := n;
pWord := ''
end
else begin
i := ib;
while (s[i] in delim) and (i < n) do i := i + 1;
ib := i;
w := '';
while (not (s[i] in delim)) and (i < n) do
begin
w := w + s[i];
i := i + 1
end;
if i < n then begin
l := i - ib;
pWord := w
end
else begin
l := i - ib + 1;
pWord := w + s[n]
end
end
end;
var
w, x, a: string;
n, k, i: integer;
begin
write('Введите длину искомых слов n: ');
readln(n);
writeln('Введите строку с искомыми словами (где искать):');
readln(a);
writeln('Введите строку с шаблоном поиска (что искать):');
readln(x);
writeln('Результаты поиска:');
i := 1;
repeat
GetWord(a, i, w, k);
if k = n then
begin
if Pos(w, x) > 0 then writeln(w);
end;
i := i + k
until k = 0;
end.
Тестовое решение:
Введите длину искомых слов n: 4
Введите строку с искомыми словами (где искать):
Мама мыла раму, Маша мыла полы, а Таня не мыла ничего!
Введите строку с шаблоном поиска (что искать):
Даша перемыла всю посуду.
Результаты поиска:
мыла
мыла
мыла
Комментарий удален
Комментарий удален
Другие вопросы из категории
Дана последовательность из n целых чисел. Найти количество элементов этой последовательности, кратных числу К.
Если введѐнное число не трѐхзначное, вывести сообщение об ошибке.(В ПАСКАЛЕ)
Читайте также
целочисленная прямоугольная матрица. Определить количество столбцов, содержащих
хотя бы один нулевой элемент.
Примечание: Размеры
массивов задаются именованными константами. Значения элементов массивов
вводятся с клавиатуры, генерируются случайным образом или инициализируются в
программе (значения по умолчанию). Способ задания элементов массива выбирается
пользователем. Все операции над массивами выполняются отдельными функциями.
Помогите плиззз на Pasca ABC
последняя буквы слова
в)выводт на экран первый,второй и последний символы
г)определяет,чётно или нечётно количество символов в нём