Date: Mon, 27 Apr 1998 02:51:21 +0100
Reply-To: John Whittington <medisci@POWERNET.COM>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: John Whittington <medisci@POWERNET.COM>
Subject: Re: Is there a way to sort array's?? Please help
Content-Type: text/plain; charset="us-ascii"
At 20:16 25/04/98 GMT, Henry Voyer wrote:
>I have an array like
>c1 =0; c2 =0; c3 = 0; c4 = 0;
>array client(5) c0-c4;
>after i add some random values
>il like it to sort so that
>c1 to c4 has from lesser to greater.
Henry, the simplest thing to do is to copy the array elements into a second
array, using the ORDINAL function to transfer them in sorted order:
data try (drop = i ) ;
array c(*) c0 - c4 ;
c0 = 5 ; c1 = 10 ; c2 = 3 ; c3 = 1 ; c4 = 8 ;
array x(*) x0 - x4 ;
do i = 1 to dim(x) ;
x(i) = ordinal(i, of c0-c4 ) ;
end ;
run ;
If you want to get them back into the original array, and delete the second
array you used for the sorting, then add a little to the code, like:
data try (drop = i x0-x4 ) ;
array c(*) c0 - c4 ;
c0 = 5 ; c1 = 10 ; c2 = 3 ; c3 = 1 ; c4 = 8 ;
array x(*) x0 - x4 ;
do i = 1 to dim(x) ;
x(i) = ordinal(i, of c0-c4 ) ;
end ;
do i = 1 to dim(x) ; c(i) = x(i) ; end ;
run ;
Is that any help?
Regards,
John
----------------------------------------------------------------
Dr John Whittington, Voice: +44 (0) 1296 730225
Mediscience Services Fax: +44 (0) 1296 738893
Twyford Manor, Twyford, E-mail: medisci@powernet.com
Buckingham MK18 4EL, UK mediscience@compuserve.com
----------------------------------------------------------------
|