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 #