LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (July 1997, week 4)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 25 Jul 1997 11:34:03 -0500
Reply-To:     Girish S Patel <girish.s.patel@CCMAIL.CENSUS.GOV>
Sender:       "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:         Girish S Patel <girish.s.patel@CCMAIL.CENSUS.GOV>
Subject:      ODD/EVEN NUMBER
Content-Type: text/plain; charset=US-ASCII

Dear SAS Users :

I need assistance to fix my code, i.e., to find out odd/even number from a given string. The code (along with a Macro) generates absurd result. Where I could be wrong ????????

/* **CODE STARTS HERE*** ************* ************* */

%MACRO varmk;

%global a;

%let X = &a;

%do i = 1 %to &X;

odd&i = substr(X,&i,1); even&i = substr(X,&i+1,1);

%end;

%mend varmk;

DATA test; INFILE CARDS MISSOVER; INPUT X $; b=length(x); call symput('a',b); CARDS; 73 731 ; RUN;

data test2; SET TEST; %varmk run;

proc print data=test2 label; Label b='Length of X'; title1 'Find odd/even number from a string'; run;

********************** ********************* *************************

OUTPUT OF THE ABOVE CODE GIVES ME OUTPUT AS SHOWN BELOW :

Find odd/even number from a string 10:19 Friday, July 25, 1997

Length OBS X of X ODD1 EVEN1 ODD2 EVEN2 ODD3 EVEN3

1 73 2 7 3 3 2 731 3 7 3 3 1 1

*******************************

HOWEVER CORRECT OUTPUT SHOULD BE :

X LENGTH ODD1 EVEN1 ODD2 EVEN2

73 2 7 3 0 0 731 3 7 3 1 0

*********************************

I appreciate your time and interest .......

TIA ...........


Back to: Top of message | Previous page | Main SAS-L page