# Test for multiple equality

Author Message
prino
Warnings : 1

Senior Member

Joined: 07 Feb 2009
Posts: 1241
Location: Vilnius, Lithuania

Posted: Tue Sep 15, 2015 12:47 am

Can anyone come up with a smart way of telling me if all values in a series are equal? The length of the series ranges from 1 to potentially about 200+ vID/value pairs (although in practice the longest series currently counts 15 pairs)

The format of the series is '{X-' followed by ID (3 characters)/space/number (sign+2digits)/space sets, so e.g.

 Code: {X-AA  +00 B   +00 CC  +00 D   +00 {X-AA  +00 B   +00 CC  +00 D   +00 E   +00 FF  +01 G   +00 {X-AA  +00 B   +00 CC  +00 D   +00 H   +00 II  +00 JJ  +01 {X-AA  +00 B   +00 CC  +00 D   +00 H   +00 II  +00 KK  +01 LL  +01 JJ  +01 {X-AA  +00 B   +00 H   +00 II  +00 {X-AA  +00 B   +00 H   +00 II  +00 JJ  +01 CC  +00 D   +00 {X-MM  -01 {X-NN  -08

I need to flag those where the number is not the same for all ID's.

If all values are +00, a simple

 Code: if string = translate(string, '000000000', '1234566789') then

works, but it (obviously) fails for cases where all values are the same, but not +00. One added complication is that the space following the number may in future be replaced by a space, or 'a', or 'b', or 'c', or 'd'.

This long-winded approach obviously works (and can be adapted if/when the a/b/c/d might be added at some stage):

 Code: ok = 1 do i = 2 by 2 to words(string) - 2 while ok   ok = word(string, i) = word(string, i + 2) end
Pedro

Global Moderator

Joined: 01 Sep 2006
Posts: 2214
Location: Silicon Valley

 Posted: Tue Sep 15, 2015 3:24 am I think your "obvious" approach looks pretty good.
Marso

REXX Moderator

Joined: 13 Mar 2006
Posts: 1348
Location: Israel

 Posted: Tue Sep 15, 2015 12:10 pm If a loop cannot be avoided (as I suspect), better stick to the obvious.
 View Bookmarks All times are GMT + 6 Hours

 Topic Forum Replies Similar Topics Creating a single-record file with CO... DFSORT/ICETOOL 8 Read 4MB message and split into multi... COBOL Programming 9 Multiple Sums in one File SYNCSORT 2 Retrieve multiple records with metaco... CA Products 0 Multiple Entry PL/I & Assembler 5
Search our Forums: