Предмет: Информатика, автор: Uganda2

С клавиатуры вводят имя и фамилию.Составьте программу которая определяет сколько символов содержит фамилия. (Pascal ABC)помогите пожалуйста.

Ответы

Автор ответа: Ziorar
0

Насколько я понял, вводится одна строка, где имя и фамилия идут через пробел.

Тогда, например, можно так:

var

s: string;

a: array of string;

begin

read(s);

a := s.Split;

write(Length(a[1]))

end.

Или, так:

begin

ReadString.ToWords.ElementAt(1).Length.Print

end.

Разбивать строку на слова можно через Split или через ToWords. Оба способа дают на выходе массив строк (в каждой строке помещается отдельное слово).

Отличие в том, что Split воспринимает пробелы по одному (и, если стоят два пробела подряд, то это даёт пустое слово после первого пробела), а ToWords воспринимает несколько пробелов как один (и значит пустых слов на выходе не даёт).

Также, можно сделать разделителем не пробел, а любой символ (или несколько символов). Это делается помещением массива из нужных символов в параметры этих двух методов. Например s.Split (Arr (';', ','))  разбивает строку в местах, где стоят запятая или точка с запятой.

Похожие вопросы