Subj : Re: subset function for string in c++ To : comp.programming From : August Karlstrom Date : Thu Sep 29 2005 12:19 am Randy Howard wrote: > August Karlstrom wrote > (in article ): > > >>Randy Howard wrote: >> >>>August Karlstrom wrote >>> >>>>puzzlecracker wrote: >>>> >>>> >>>>>basically, I need to find out wether charecters in string a are subset >>>>>of string b.. >>>>> >>>>> >>>>>example >>>>> >>>>> >>>>>a: rx b:rwx >>>>>that shall return true. >>>>> >>>> >>>>As this group is language independent i chose to write an implementation >>>>in Oberon: >>>> >>>>PROCEDURE Subset(a, b: ARRAY OF CHAR): BOOLEAN; >>>>VAR j, k: LONGINT; >>>>BEGIN >>>>j := 0; >>>>WHILE a[j] # 0X DO >>>>k := 0; >>>>WHILE (b[k] # 0X) & (b[k] # a[j]) DO INC(k) END; >>>>IF b[k] = 0X THEN RETURN FALSE END; >>>>INC(j) >>>>END; >>>>RETURN TRUE >>>>END Subset; >>>> >>>> >>> >>> >>>Wow. Ben's version sure seems a lot clearer. :-) >> >>Since the original poster wrote to comp.programming I assumed he/she was >>interested in an algorithm. > > > I was making a comment on the wordiness of Oberon, not on what > language the solution was in, and it was mostly tongue in cheek. > I would expect a modern language to have a bit more in the way > of standard string support and not have to roll it from scratch, > or is there a more direct way of doing it with Oberon builtins? Oberon is an efficient minimalist language. The inclusion of standard string support would introduce "hidden costs" (and make the language larger). There is a module (Strings) in the standard library though that provides some basic string procedures. August .