Бесконечный цикл - C# (185548)
Формулировка задачи:
Хелп, не могу избавиться от бесконечной рекурсии
Листинг программы
- public void Run2(string str,int i)
- {
- char c;
- Stack s = new Stack();
- if (str.Length % 2 == 0)
- {
- if (i < str.Length)
- {
- {
- if ((str[i] == '(') || (str[i] == '[') || (str[i] == '{'))
- {
- s.Push(str[i]);
- Run2(str, i++);
- }
- else if ((str[i] == ')') || (str[i] == ']') || (str[i] == '}'))
- {
- if (s.Count == 0)
- {
- MessageBox.Show("Строка не симметрична");
- }
- c = (char)s.Pop();
- if (((c == '{') && (str[i] == '}')) ||
- ((c == '[') && (str[i] == ']')) ||
- ((c == '(') && (str[i] == ')')))
- {
- Run2(str, i++);
- }
- else
- {
- MessageBox.Show("Строка не симметрична");
- }
- }
- }
- if (s.Count > 0)
- {
- MessageBox.Show("Строка не симметрична");
- }
- else MessageBox.Show("Строка симметрична");
- }
- }
- else MessageBox.Show("Строка не симметрична");
- }
Решение задачи: «Бесконечный цикл»
textual
Листинг программы
- Run2()
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д