Определить, с какой буквы начнется 1-е симметричное слово - Turbo Pascal
Формулировка задачи:
Дана строка символов. Группу символов, разделенную с одной или обеих сторон одним или несколькими пробелами и не содержащую пробелов внутри, назовем словом. Определить, с какой буквы начнется 1-е симметричное слово.
Предполагается что хотя бы одно такое слово есть.
Решение задачи: «Определить, с какой буквы начнется 1-е симметричное слово»
textual
Листинг программы
uses Crt;
var s,s1:string;
i,j:integer;
f:boolean;
begin
ClrScr;
Writeln('String:'); Writeln;
Readln(s); Writeln;
i:=1;
repeat
While s[i]=' ' do Inc(i);
if i>Length(s) then Break;
s1:=''; f:=true;
While s[i]<>' ' do
begin
s1:=s1+s[i];
Inc(i);
if i>Length(s) then Break;
end;
for j:=1 to (Length(s1) div 2) do
if s1[j]<>s1[Length(s1)-j+1]
then
begin
s1:='';
f:=false;
Break
end;
if f then Break;
until i>Length(s);
if f
then Writeln('Pervoe simmetricnoe nacinaetsja na - ',s1[1])
else writeln('Net simmetricnih slov');
ReadKey;
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека Crt.
- Объявляются переменные s и s1 типа string, а также переменные i и j типа integer и f типа boolean.
- Выполняется очистка экрана с помощью функции ClrScr.
- Выводится сообщение «String:» и считывается строка s с помощью функции Readln.
- Инициализируется переменная i со значением 1.
- В цикле повторяется следующая последовательность действий:
- Пока символ s[i] равен пробелу, увеличивается значение переменной i.
- Если значение переменной i больше длины строки s, то цикл прерывается с помощью оператора Break.
- Инициализируется переменная s1 со значением '' (пустая строка).
- Устанавливается значение переменной f в true.
- Пока символ s[i] не равен пробелу, происходит следующая последовательность действий:
- К переменной s1 добавляется символ s[i].
- Значение переменной i увеличивается на 1.
- Если значение переменной i больше длины строки s, то цикл прерывается с помощью оператора Break.
- Если значение переменной f равно true, то цикл прерывается с помощью оператора Break.
- Если цикл завершился, выводится сообщение «Первое симметричное слово начинается на - » и выводится первый символ строки s1.
- Если цикл завершился, выводится сообщение «Net simmetricnih slov».