Страница 1 из 1

Функция обработки списков

Добавлено: 09 апр 2008, 17:58
assari
Добрый вечер. Помогите пожалуйста написать функцию на паскале, подсчитывающую количество слов списка, которые начинаются и заканчиваются одной и той же буквой.

p.s. даже пробный код Вам предложить, к сожалению, не могу, знаю только как реализовать функцию для обработки строк, но это врядли нужно здесь писать. Как это сделать в динамическом списке не знаю.

Re: Функция обработки списков

Добавлено: 10 апр 2008, 11:27
Хыиуду
s[1]=s[length(s)]
Если для s такое равенство выполняется, то s начинается и кончается на одну и ту же букву.
Если s содержит в себе несколько слов - надо ее разбить на слова (раздел Алгоритмы, соответствующая тема).
Как список организоывать - ваше дело, либо массивом, либо динамически.

Re: Функция обработки списков

Добавлено: 10 апр 2008, 12:35
assari
А вот скажите, например, СurrRec1^.Name - это элемент списка (слово). Как для него реализовать проверку ?

.

Добавлено: 10 апр 2008, 13:28
BBB
assari писал(а):А вот скажите, например, СurrRec1^.Name - это элемент списка (слово). Как для него реализовать проверку ?

Хыиуду, возможно чуть усложнил для понимания, написав (чуть выше) формулу не для отдельной строки, а для массива.

Для отдельной строки это будет выглядеть:

Код: Выделить всё

function PervAndPoslRavny (st : string) : boolean;
begin
  if (Length (st)) = 0 then begin
   { будем считать, что такая строка не подходит }
    PervAndPoslRavny := FASLE;
  end
  else  begin
    PervAndPoslRavny := (st [1] = st [Length (st)]);
  end;
end;
Для СurrRec1^.Name надо будет сделать вызов:
PervAndPoslRavny (СurrRec1^.Name)