Показать сообщение отдельно
  #1  
Старый 21.12.2009, 17:44
Asira Asira вне форума
Новичок
 
Регистрация: 11.12.2009
Сообщения: 76
Репутация: -26
По умолчанию Помогите понять почему прога виснет

Помоги понять почему прога при введении в строку более одного слова зацикливается........
Код:
{$APPTYPE CONSOLE}

uses
  SysUtils;

const znaki=',.";: -?!' ;
function Perestanovka(s: string): string;
var
  l,p:integer;
begin
  l:= length(s);p:= l div 2;
  if l mod 2 = 0  then
  begin
s := s + copy(s, 1, p);
Delete(s, 1, p);
  end
  else
  begin
    s := s + copy(s, p + 1, 1) + copy(s, 1, p);
    Delete(s, 1, p + 1);
  end;
   Perestanovka:= s;
end;


 var k,i: Integer;
  S, s1: String;
begin
writeln('Enter string ');
 readln(s);
 i:=1;

while i<=length(s) do
  begin
i:=1;
while (pos(s[i],znaki)=0) and (i<=length(s))do
begin
//s1:=' ';
s1:= s1 + s[i];
Inc(i);
end;
write(Perestanovka(s1));
end;
 while (pos(s[i],znaki)<>0) and (i<=length(s))do
 write(s[i]);
Inc(i);
//end;
Readln;
  Readln;
end.
Ответить с цитированием