Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Created by PhpStorm.
- * User: emotu
- * Date: 012 12.3.2019 г.
- * Time: 10:59
- */
- $array = explode(" ", readline());
- while (true) {
- $line = readline();
- if ($line == "END"){
- break;
- }
- $args = explode(" ", $line);
- $cmd = $args[0];
- if ($cmd == "Insert") {
- $place = $args[1];
- $paintingNumber = $args[2];
- $array = insert($array, $place, $paintingNumber);
- } elseif ($cmd == "Switch") {
- $number1 = $args[1];
- $number2 = $args[2];
- $array = switchPlaces($array, $number1, $number2);
- } elseif ($cmd == "Hide") {
- $paintingNumberToHide = $args[1];
- $array = hide($array, $paintingNumberToHide);
- } elseif ($cmd == "Reverse") {
- $array = reverse($array);
- } elseif ($cmd == "Change") {
- $paintingNumberToChange = $args[1];
- $newNumber = $args[2];
- $array = change($array, $paintingNumberToChange, $newNumber);
- }
- }
- foreach ($array as $num){
- echo $num." ";
- }
- function insert($array, $place, $paintingNumber)
- {
- $copy = [];
- if ($place < count($array) - 1) {
- for ($i = 0; $i <= $place; $i++) {
- $copy[] = $array[$i];
- }
- $copy[$place + 1] = $paintingNumber;
- for ($i = $place + 1; $i < count($array); $i++) {
- $copy[] = $array[$i];
- }
- return $copy;
- }
- return $array;
- }
- function switchPlaces($array, $number1, $number2)
- {
- $num1Exists = false;
- $num2Exists = false;
- $num1Index = 0;
- $num2Index = 0;
- for ($i = 0; $i < count($array); $i++) {
- if ($array[$i] === $number1) {
- $num1Exists = true;
- $num1Index = $i;
- }
- if ($array[$i] === $number2) {
- $num2Exists = true;
- $num2Index = $i;
- }
- }
- if ($num1Exists && $num2Exists) {
- $temp = $array[$num1Index];
- $array[$num1Index] = $array[$num2Index];
- $array[$num2Index] = $temp;
- }
- return $array;
- }
- function hide($array, $paintingNumber)
- {
- $indexOfNumberToRemove = -1;
- for ($i = 0; $i < count($array); $i++) {
- if ($array[$i] == $paintingNumber) {
- $indexOfNumberToRemove = $i;
- }
- }
- if ($indexOfNumberToRemove != -1) {
- $copy = [];
- for ($i = 0; $i < $indexOfNumberToRemove; $i++) {
- $copy[] = $array[$i];
- }
- for ($i = $indexOfNumberToRemove + 1; $i < count($array); $i++) {
- $copy[] = $array[$i];
- }
- return $copy;
- }
- return $array;
- }
- function reverse($array)
- {
- $copy = [];
- for ($i = count($array) - 1; $i >= 0; $i--) {
- $copy[] = $array[$i];
- }
- return $copy;
- }
- function change($array, $paintingNumber, $newNumber)
- {
- for ($i = 0; $i < count($array); $i++) {
- if ($array[$i] == $paintingNumber) {
- $array[$i] = $newNumber;
- break;
- }
- }
- return $array;
- }
Add Comment
Please, Sign In to add comment