Вопрос задан 07.07.2023 в 11:54. Предмет Информатика. Спрашивает Хомяк Александра.

Дана строка содержащая любые символы кроме русских букв. Под "словом" будем понимать

последовательность символов, ограниченную пробелами или стоящую в конце или начале строки. Между словами может быть несколько пробелов. Так же пробелы могут быть в конце или начале строки. Написать функцию, которая в заданной строке находит количество cлов - палиндромов. Использовать заголовок: function CalcWord(Stroka: string): integer; PascalABC ПОМОГИТЕ ПОЖАЛУЙСТА 11 Б
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Хоцанян Давид.

// PascalABC.NET

function CalcWord(Stroka: string): integer;

begin

 Result :=

     Stroka

     .ToWords

     .Where(Слово -> Слово = Слово.Inverse)

     .Count

end;

begin

 var s := ReadString;

 CalcWord(s).Print

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

pascal
function IsPalindrome(s: string): boolean; var i, j: integer; begin j := Length(s); for i := 1 to Length(s) div 2 do begin if s[i] <> s[j] then begin IsPalindrome := False; Exit; end; Dec(j); end; IsPalindrome := True; end; function CalcWord(Stroka: string): integer; var i, start, len: integer; word: string; begin Stroka := Trim(Stroka); // Убираем пробелы в начале и конце строки len := Length(Stroka); if len = 0 then begin CalcWord := 0; Exit; end; i := 1; start := 1; Result := 0; while i <= len do begin if Stroka[i] = ' ' then begin word := Copy(Stroka, start, i - start); if IsPalindrome(word) then Inc(Result); start := i + 1; end; Inc(i); end; // Проверка последнего слова (если строка не заканчивается пробелом) if start <= len then begin word := Copy(Stroka, start, len - start + 1); if IsPalindrome(word) then Inc(Result); end; end; var Stroka: string; begin Stroka := '...'; // Ваша строка writeln('Количество палиндромических слов: ', CalcWord(Stroka)); end.

Замените '...' на вашу строку, а затем скомпилируйте и запустите программу. Функция CalcWord будет считать количество палиндромических слов в заданной строке, учитывая правила, описанные в вашем вопросе.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос