ВУЗ:
Составители:
Рубрика:
- 41 -
11) имеют первой и последней буквой одну и ту же заданную;
12) не имеют первой и последней буквой одну и ту же заданную.
Методические указания
1. Вводить последовательность слов следует посимвольно. Для представления
слов в программе использовать строковый тип подходящей длины. Слово
располагать в начальных компонентах строки, не используемые компоненты
заполнять пробелами.
2. Для внутреннего представления текста использовать список с заглавным
звеном. Звено списка состоит из трёх полей: первое – строка, в которой
хранится слово, второе – длина данного слова, третье – указатель на следующее
звено.
3. Для вставки очередного слова в список определить отдельную процедуру; для
подсчёта слов, удовлетворяющих условию, описать функцию. После построения
списка напечатать слова, находящиеся в звеньях списка, используя процедуру
print.
Пример решения
Пусть требуется найти, сколько в тексте слов длиной пять букв и в
которых заданная буква встречается не менее двух раз.
program sample(input, output);
const n=10;
template='9999999999';
type line = packed array[1..n] of char;
size=1..10;
link= ↑node;
node = record
word: line;
length: size;
next: link
end;
list=link;
var L: list;
p: link;
c: char;
word: line;
k,i: integer;
procedure insert(p: link; word: line; length: size);
{создаёт звено для слова word длины length и вставляет
его в конец списка (после звена, на которое указывает p)}
var q: link;
11) имеют первой и последней буквой одну и ту же заданную; 12) не имеют первой и последней буквой одну и ту же заданную. Методические указания 1. Вводить последовательность слов следует посимвольно. Для представления слов в программе использовать строковый тип подходящей длины. Слово располагать в начальных компонентах строки, не используемые компоненты заполнять пробелами. 2. Для внутреннего представления текста использовать список с заглавным звеном. Звено списка состоит из трёх полей: первое – строка, в которой хранится слово, второе – длина данного слова, третье – указатель на следующее звено. 3. Для вставки очередного слова в список определить отдельную процедуру; для подсчёта слов, удовлетворяющих условию, описать функцию. После построения списка напечатать слова, находящиеся в звеньях списка, используя процедуру print. Пример решения Пусть требуется найти, сколько в тексте слов длиной пять букв и в которых заданная буква встречается не менее двух раз. program sample(input, output); const n=10; template='9999999999'; type line = packed array[1..n] of char; size=1..10; link= ↑node; node = record word: line; length: size; next: link end; list=link; var L: list; p: link; c: char; word: line; k,i: integer; procedure insert(p: link; word: line; length: size); {создаёт звено для слова word длины length и вставляет его в конец списка (после звена, на которое указывает p)} var q: link; - 41 -