Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Объясните действия в прогремме!

Автор: qwertyy 27.4.2011, 12:01

Пожалуйста, объясните действия, происходящие в программе!
Заранее спасибо!


program MaxPal;
var
s,p:string;
i,k,n:integer;

function IsPal(s:string):boolean;
var i,n:integer;
begin
IsPal:=true;
n:=length(s);
for i:=1 to n div 2 do
if (s[i]<>s[n-i+1]) then
begin
IsPal := false;
break;
end;
end;

begin
readln(s);
n:=length(s);
k:=n;
p:=' ';
while (k>0) and (p=' ') do
begin
for i:=1 to n-k+1 do
begin
if IsPal(copy(s,i,k)) then
begin
p:= copy(s,i,k);
break;
end;
end;
k:=k-1;
end;
writeln(p);
end.

Автор: Vahappaday 27.4.2011, 17:03

Ну, в общем-то программа ищет самый большой палиндром, если же таких несколько, то выбирает самый первый.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)