ClarkeRubber

UNSW ProgComp: Problem 3 - 2006

Jun 9th, 2012
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.14 KB | None | 0 0
  1. <?php
  2.  
  3. $input = <<<END
  4. #5 #9 #4X
  5. #4 #9 X#4 XX
  6. #3 #9 X  #3*  X#7 #9 #5X
  7.   #9 X  #5*  X#3 #9 #3X#5 XX
  8. #8 #4X #7* #3X#6 #4X #9 XX
  9. #6 XX#3 X #6*  #9X#7 #9 #2X #3X
  10. #4 XX#6 X #4*  X#9 #9 #9 X** X
  11. #3 X#8 XX#4 XX#5 X#4 #9 #9 X#3*X
  12.   X#9 //#4X#7 X#4 #9 #9 #4X
  13.  X#9 //#3 X  #9 #9 #9 XX
  14. X#9 //#4 X #9 #9X#9X/
  15. X#5 #3X//#4 X #9 X
  16. X#4 X#3 X  #3 X    #5 X
  17. X#4 X#4 X#4 X#5    X
  18.  X#3 X#4 X#4 X#8 X  #9 #9 XX
  19.  X#4 X#3 X#4 X#8 X#8 #9 #3X  XX
  20.   X#4 #3X#6 X#8 X#6 #9 X  X X  X
  21.   X#4 #9 X#9 X#5 #9 XX X  #4X
  22. #3 X#4 #9 X#9 #8X\#5 XX#3 XX  X
  23. #4 XX#3 #9 XX#5 #9 X#5 X#4 X  XX
  24. #6 XX#3 #9 #4X#3 #6X/#5 X#5 #4X
  25. #8 #3X#4 #9 XX#3*#9 X#5 X
  26.   #9 #4X#9X *#3 *#7 X#5 X
  27. #6 #9 #9 *#3-* X#5 X#5 X
  28. #5 #9 #9 *-* *#3 #3X X#5 X
  29. #5 #9 #9 *- *#7 #3X#3 X
  30. #4 #9 #9 *- *X #9 #3X
  31. #4 #9 #9 *- *X  X #9 #3X
  32. #3 #9 #9 *- *X#4 X#3 #9 XX
  33. #3 #9 #9 *- *XX#4 X#4 #9 X
  34.   #9 #9 *  *X* X#4 X#4 #9 X
  35.   #9 #9 *  *#1X * X#4 X#4 #9 X
  36.  #9 #9 *  * X**  X#3 #4X #9 X
  37.  #9 #9 *  * X**  XX#5 X #9 X
  38. #9 #9 *  ** X** X#5 XX #9 X
  39. #9 #9 *  **  X*  #3X#3 X#9 X
  40. #8 #9 *  **#4 XX#3 #4X#7 #3X
  41. #7 #9 *  * *#6 #4X#6 X#5 X
  42. #6 #9 *#3 * * #9 X#5 X#5 X
  43.  #7=#7*#3 * *  #9 X#5 X#6 #8X\
  44. #8 *#9 * *#6 /#5X#6 #8X\#6 )
  45. #3 #5=*#9*  *#5 X#3 #9 #9 )  \  )
  46. #5 #4=*#9 *#5 X#6 #9 \  \#3 )#5X
  47. #9=*#9*#7 #4X#9X#9X
  48. #2
  49.  #9 #9 C#1U#1R#1SE Y#1O#1U, R#1ED B#1A#1R#1O#1N!
  50. END;
  51.  
  52. //I think that this is going to involve simply walking through the string
  53. //if '#' && char_pos+1 is num repeat follwing character char_pos+1 times
  54. //else if char_pos+1 == '#' echo '#'
  55. //else display ?
  56. //then advance to the character after #dc or ##
  57.  
  58. $input = explode("\n", $input); //work on each line individually then add newline after line
  59.  
  60.  
  61. foreach($input as $value){
  62.     $line = str_split($value);
  63.     $x = 0;
  64.     $out_string = null;
  65.     for($key = 0; $key < count($line); $key++){
  66.         if($line[$key] == '#'){
  67.             if(is_numeric($line[$key+1])){
  68.                 $out_string .= str_pad($line[$key+2], $line[$key+1], $line[$key+2], STR_PAD_RIGHT);
  69.                 $key += 2;
  70.             }elseif($line[$key+1] == '#'){
  71.                 $out_string .= '#';
  72.                 $key += 1;
  73.             }else{
  74.                 $out_string .= '?';
  75.                 $key += 1;
  76.             }
  77.         }else{
  78.             $out_string .= $line[$key];
  79.         }
  80.     }
  81.     echo $out_string."\n";
  82. }
Advertisement
Add Comment
Please, Sign In to add comment