frykt1k
04.05.2017, 00:16
Здравствуйте!
Помогите, пожалуйста, новичку решить примитивную задачку..:blush:
Необходимо сделать функцию, которая будет приводить произвольную последовательность из открывающих и закрывающих скобок к правильному виду, путем добавления нужного количества скобок в нужных местах.:rolleyes:
Пример:
Исходная строка: «(()((()»
Результат: «(()((())))»
Пример 2:
Исходная строка: «)))(»
Результат: «((()))()»
Попытался накидать вот код, если это можно так назвать..:D
С синтаксисом путём не разобрался..:rolleyes:
&НаКлиенте
Процедура АнализИсходнойСтроки(Кома� �да)
Массив = Новый Массив();
Массив = помещаем ИсходнаяСтрока в массив;:confused:
Для Каждого ЭлементМассива Из Массив Цикл
если (ЭлементМассива = ")") и ((ЭлементМассива-1) <> "(") тогда
Массив.Вставить(0, "(");
если ...
конецесли;
если (ЭлементМассива = "(") и ((ЭлементМассива+1) <> ")") тогда
Массив.Добавить(")");
если ...
конецесли;
конецЦикла;
РезультатСтрока = Массив;
КонецПроцедуры
Помогите, пожалуйста, новичку решить примитивную задачку..:blush:
Необходимо сделать функцию, которая будет приводить произвольную последовательность из открывающих и закрывающих скобок к правильному виду, путем добавления нужного количества скобок в нужных местах.:rolleyes:
Пример:
Исходная строка: «(()((()»
Результат: «(()((())))»
Пример 2:
Исходная строка: «)))(»
Результат: «((()))()»
Попытался накидать вот код, если это можно так назвать..:D
С синтаксисом путём не разобрался..:rolleyes:
&НаКлиенте
Процедура АнализИсходнойСтроки(Кома� �да)
Массив = Новый Массив();
Массив = помещаем ИсходнаяСтрока в массив;:confused:
Для Каждого ЭлементМассива Из Массив Цикл
если (ЭлементМассива = ")") и ((ЭлементМассива-1) <> "(") тогда
Массив.Вставить(0, "(");
если ...
конецесли;
если (ЭлементМассива = "(") и ((ЭлементМассива+1) <> ")") тогда
Массив.Добавить(")");
если ...
конецесли;
конецЦикла;
РезультатСтрока = Массив;
КонецПроцедуры