Помоги понять почему прога при введении в строку более одного слова зацикливается........
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | {$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 + 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);
Readln;
Readln;
end .
|