в начальной строке а определить количество слов содержащих ровно п символов
В начальной строке а найти количество слов содержащих ровно п знаков строки х.
Задать свой вопрос1 ответ
Nikita Pan
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 gt;= n then begin
ib := n;
pWord := ''
end
else begin
i := ib;
while (s[i] in delim) and (i lt; n) do i := i + 1;
ib := i;
w := '';
while (not (s[i] in delim)) and (i lt; n) do
begin
w := w + s[i];
i := i + 1
end;
if i lt; 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) gt; 0 then writeln(w);
end;
i := i + k
until k = 0;
end.
Тестовое решение:
Введите длину разыскиваемых слов n: 4
Введите строчку с разыскиваемыми словами (где искать):
Мать мыла раму, Маша мыла полы, а Таня не мыла ничего!
Введите строчку с шаблоном поиска (что искать):
Даша перемыла всю посуду.
Результаты поиска:
мыла
мыла
мыла
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 gt;= n then begin
ib := n;
pWord := ''
end
else begin
i := ib;
while (s[i] in delim) and (i lt; n) do i := i + 1;
ib := i;
w := '';
while (not (s[i] in delim)) and (i lt; n) do
begin
w := w + s[i];
i := i + 1
end;
if i lt; 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) gt; 0 then writeln(w);
end;
i := i + k
until k = 0;
end.
Тестовое решение:
Введите длину разыскиваемых слов n: 4
Введите строчку с разыскиваемыми словами (где искать):
Мать мыла раму, Маша мыла полы, а Таня не мыла ничего!
Введите строчку с шаблоном поиска (что искать):
Даша перемыла всю посуду.
Результаты поиска:
мыла
мыла
мыла
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Облако тегов