Составители:
Рубрика:
79
end.
Задача:
С клавиатуры вводится строка символов, до-
полнить ее минимальным количеством символов справа так,
чтобы получившаяся строка оказалась палиндромом. (Палин-
дром - это последовательность символов, читающаяся одина-
ково и справа на лево, и слева направо. )
program р29;
const
S: String= 'АВСААС’;
var
S1, SS: String;
i: integer;
pol : boolean;
begin
{Реализуем следующую идею. Будем в цикле проверять,
является ли исходная строка палиндромом и отрезать от
нее по одному символу слева. Как только получится па-
линдром, добавим к исходной строке отрезанные от нее
символы, предварительно поменяв порядок их следования
на обратный}
SS := S;
S1 : = ' ‘;
repeat
pol : = true ;
for i:= 1 to length (S) div 2 do
if S [i] <> S [length (S) - i + 1] then pol:= false;
if not pol then
begin
S1:= S[i] + S1;
Delete (S, 1, 1) ;
end;
Until pol;
SS:= SS + S1;
end. Задача: С клавиатуры вводится строка символов, до- полнить ее минимальным количеством символов справа так, чтобы получившаяся строка оказалась палиндромом. (Палин- дром - это последовательность символов, читающаяся одина- ково и справа на лево, и слева направо. ) program р29; const S: String= 'АВСААС’; var S1, SS: String; i: integer; pol : boolean; begin {Реализуем следующую идею. Будем в цикле проверять, является ли исходная строка палиндромом и отрезать от нее по одному символу слева. Как только получится па- линдром, добавим к исходной строке отрезанные от нее символы, предварительно поменяв порядок их следования на обратный} SS := S; S1 : = ' ‘; repeat pol : = true ; for i:= 1 to length (S) div 2 do if S [i] <> S [length (S) - i + 1] then pol:= false; if not pol then begin S1:= S[i] + S1; Delete (S, 1, 1) ; end; Until pol; SS:= SS + S1; 79
Страницы
- « первая
- ‹ предыдущая
- …
- 77
- 78
- 79
- 80
- 81
- …
- следующая ›
- последняя »