С клавиатуры вводится строка. Составьте программу которая: позволяет определить, будет ли введённая строка являться "перевёртышем" после удаления из неё всех пробелов. Пример: Входные данные: кит на море романтик Выходные данные: да
if (source_wo_spaces[i] <> source_wo_spaces[size - i + 1]) then // Сравниваем каждый элемент с противоположным
begin
writeln('Строка не является перевёртышем после удаления пробелов.');
exit;
end;
writeln('Строка является перевёртышем после удаления пробелов.');
end.
P.S. Не знаю точно что с этим связано, но когда я скомпилировал код на онлайн компиляторе я убедился, что она работает только с английскими словами по типу "zakaz", но не "заказ". Будьте внимательны. С "kit na more romantik" работает отлично.
Answers & Comments
{ Программа для определения является ли строка при удаления пробелов перевёртышем. }
var
source, source_wo_spaces: string; // исходная и очищенная от пробелов строка
i, size: integer;
begin
writeln('Введите cтроку: ');
readln(source); // ввод строки
size := length(source); // длина исходной строки
{ Удаление пробелов из исходной строки }
source_wo_spaces := ''; // очищенная от пробелов строка
for i := 1 to size do // Цикл по всем символам исходной строки
if (source[i] <> ' ') then // проверка на пробел
source_wo_spaces := source_wo_spaces + source[i]; // Добавление символа в очищенную строку
{ Проверка на перевёртыш }
size := length(source_wo_spaces);
for i := 1 to size div 2 do
if (source_wo_spaces[i] <> source_wo_spaces[size - i + 1]) then // Сравниваем каждый элемент с противоположным
begin
writeln('Строка не является перевёртышем после удаления пробелов.');
exit;
end;
writeln('Строка является перевёртышем после удаления пробелов.');
end.