Ответ: Не такое оно и сложное.Главная проблема — то, что между словами может быть несколько пробелов.Устраним её, написав функцию, которая оставляла бы между словами по 1 пробелу:function RemoveSpaces(str : string) : string;begin //Тут цикл for, переписанный через while var iter := 1; //Проходим по строке while (iter < str.Length) do begin //Если видим 2 пробела подряд, удаляем 1 и откатывает итератор. if (str[iter] = ‘ ‘) and (str[iter + 1] = ‘ ‘) then begin str := str.Remove(iter, 1); iter -= 1; end; iter += 1; end; RemoveSpaces := str;end;Теперь мы можем получить кол-во слов очень просто:function CalcWords(str : string) : integer;begin CalcWords := RemoveSpaces(str).Split(‘ ‘).Count();end;Т.е. мы делим строку на массив через пробелы, и считаем кол-во элементов массива.полный код: https://pastebin.com/A63ggdWm
Pascal ABC кто разбирается, задание очень сложное.
Дана строка содержащая любые символы кроме русских букв.
Под «словом» будем понимать последовательность символов, ограниченную пробелами или стоящую в конце или начале строки. Между словами может быть несколько пробелов. Так же пробелы могут быть в конце или начале строки.
Написать функцию, которая в заданной строке находит количество cлов — палиндромов.
Использовать заголовок:
function CalcWord(Stroka: string): integer; — Правильный ответ на вопрос найдете ниже
30.01.2020 · 1