private string add(string[] keyWords) { if (turingMachine == null) { return("Error: Необходимо сначала инициализировать машину! / add\\"); } string value = string.Empty; int[] indices = new int[dimensions]; for (int i = 0; i < dimensions; ++i) { indices[i] = 0; } for (int i = 1; i < keyWords.Length; ++i) { switch (keyWords[i]) { case "v": case "value": if (i + 1 >= keyWords.Length) { return("Error: Не указано значение параметра value! / add\\"); } value = keyWords[i + 1]; ++i; break; case "i": case "indices": if (i + 1 >= keyWords.Length) { return("Error: Не указано значение параметра indices! / add\\"); } ++i; int indicesCounter = 0; while (i < keyWords.Length && indicesCounter < dimensions && !keyWords[i].Equals("end")) { if (!(int.TryParse(keyWords[i], out indices[indicesCounter]) && indices[indicesCounter] >= 0)) { return("Error: Значением параметра index должно быть целое положительное число или 0! / add\\"); } ++i; ++indicesCounter; } break; } } if (value.Length > 0) { string valueString = turingMachine.addCell(indices, value); if (valueString.StartsWith("Error")) { return(valueString); } else { return("Значение: / " + valueString + " / добавлено на ленту успешно!\\"); } } else { return("Error: Необходимо указать value! / add\\"); } }