С клавиатуры вводят имя и фамилию.Составьте программу которая определяет сколько символов содержит фамилия. (Pascal ABC)помогите пожалуйста.
Ответы
Насколько я понял, вводится одна строка, где имя и фамилия идут через пробел.
Тогда, например, можно так:
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 (';', ',')) разбивает строку в местах, где стоят запятая или точка с запятой.