Determine if a string is squeezable: Difference between revisions
Content added Content deleted
(No need for "works with") |
|||
Line 167: | Line 167: | ||
result[ r pos ] := s[ LWB s ]; |
result[ r pos ] := s[ LWB s ]; |
||
FOR s pos FROM LWB s + 1 TO UPB s DO |
FOR s pos FROM LWB s + 1 TO UPB s DO |
||
IF result[ r pos ] /= s[ s pos ] |
IF result[ r pos ] /= s[ s pos ] |
||
OR result[ r pos ] /= c |
OR result[ r pos ] /= c |
||
THEN |
THEN |
||
r pos +:= 1; |
r pos +:= 1; |
||
Line 179: | Line 179: | ||
PROC test squeeze = ( STRING s, CHAR c )VOID: |
PROC test squeeze = ( STRING s, CHAR c )VOID: |
||
BEGIN |
BEGIN |
||
STRING z = s SQUEEZE c; |
STRING z = s SQUEEZE c; |
||
print( ( "Squeeing """, c, """ in ", "<<<", s, ">>> (length ", whole( ( UPB s + 1 ) - LWB s, 0 ), ")", newline ) ); |
print( ( "Squeeing """, c, """ in ", "<<<", s, ">>> (length ", whole( ( UPB s + 1 ) - LWB s, 0 ), ")", newline ) ); |
||
print( ( " -> ", "<<<", z, ">>> (length ", whole( ( UPB z + 1 ) - LWB z, 0 ), ")", newline ) ) |
print( ( " -> ", "<<<", z, ">>> (length ", whole( ( UPB z + 1 ) - LWB z, 0 ), ")", newline ) ) |
||
END # test squeee # ; |
END # test squeee # ; |
||
# task test cases # |
# task test cases # |