Код
Program SortQuckString;
Uses
Crt;
Const
nn=10; {¬ Єб. Є®«-ў® н«-в®ў ў ¬ ббЁўҐ}
Type
atype=array[1..nn] of string; {вЁЇ ¬ ббЁў}
Procedure Vec(var a:atype; var n:integer); {ўў®¤ ¬ ббЁў }
var c,i:integer;
begin
repeat
writeln('‚ўҐ¤ЁвҐ n= '); readln(n)
until (n>0) and (n<=nn);
For i:=1 to n do
begin
write('‚ўҐ¤ЁвҐ a[',i,']= ');
readln(a[i])
end
End;
Procedure SortQuick(var x:atype; left, right:integer); {б®авЁа®ўЄ }
var
l,r,i:integer;
a:string;
Begin
{ ЇҐаҐўҐаҐ¬ ўбҐ бва®ЄЁ }
l:=left; r:=right; a:=x[l];
repeat
while (x[r]>=a) and (l<r) do r:=r-1;
x[l]:=x[r];
while (x[l]<=a) and (l<r) do l:=l+1;
x[r]:=x[l];
until r=l;
x[l]:=a;
If left<l-1 then SortQuick(x,left,l-1);
If r+1<right then SortQuick(x,r+1,right)
end;
Procedure Print(a:atype; n:integer);
Var
I:integer;
Begin
For i:=1 to n do writeln(a[i]:6);
writeln
End;
Procedure PEREVOROT(var a:atype; n:integer);
var
i,k:integer;
s,ts:string;
begin
for i:=1 to n do
begin
s:='';
s:=a[i];
for k:=1 to Ord(s[0]) do
begin
ts:='';
ts[k]:=s[(ORD(s[0])-k+1)]
end;
for k:=1 to Ord(s[0]) do ts:=ts+ts[k];
a[i]:=ts;
ts:='';
end;
end;
Var
A:Atype;
n:integer;
Begin
Clrscr;
vec(a,n);
Writeln('‚ и ¬ ббЁў:');
Print(a,n);
{ЇҐаҐў®а зЁў Ґ¬ бва®ЄЁ ў ¬ ббЁўҐ}
PEREVOROT(a,n);
SortQuick(a,1,n);
PEREVOROT(a,n);
writeln('‚ и ®вб®авЁа®ў л© ¬ ббЁў ( зЁ п б Є®Ґзле ЎгЄў)');
Print(a,n);
readkey
End.
Цитата
А как полностью реализовать на Паскале. Мне для универа. Ни фига не понимаю...
А как учиться дальше собираетесь?
Цитата
здесь есть объяснение и программа.. правда на си.. в общем можно поковыряться..)
Если товарищ не может на пасе, то с СИ он точно не разберется!