Бесконечный цикл - C# (185548)

Узнай цену своей работы

Формулировка задачи:

Хелп, не могу избавиться от бесконечной рекурсии
Листинг программы
  1. public void Run2(string str,int i)
  2. {
  3. char c;
  4. Stack s = new Stack();
  5. if (str.Length % 2 == 0)
  6. {
  7. if (i < str.Length)
  8. {
  9. {
  10. if ((str[i] == '(') || (str[i] == '[') || (str[i] == '{'))
  11. {
  12. s.Push(str[i]);
  13. Run2(str, i++);
  14. }
  15. else if ((str[i] == ')') || (str[i] == ']') || (str[i] == '}'))
  16. {
  17. if (s.Count == 0)
  18. {
  19. MessageBox.Show("Строка не симметрична");
  20. }
  21. c = (char)s.Pop();
  22. if (((c == '{') && (str[i] == '}')) ||
  23. ((c == '[') && (str[i] == ']')) ||
  24. ((c == '(') && (str[i] == ')')))
  25. {
  26. Run2(str, i++);
  27. }
  28. else
  29. {
  30. MessageBox.Show("Строка не симметрична");
  31. }
  32. }
  33. }
  34. if (s.Count > 0)
  35. {
  36. MessageBox.Show("Строка не симметрична");
  37. }
  38. else MessageBox.Show("Строка симметрична");
  39. }
  40. }
  41. else MessageBox.Show("Строка не симметрична");
  42. }

Решение задачи: «Бесконечный цикл»

textual
Листинг программы
  1. Run2()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут