Все, я думаю, я понял это! @ RC0993 был первым, кто указал на это!
string s = (((())((();
должно быть string s = ")(()("; // which is the INPUT;
И
cout << "INPUT: " << s << endl;
cout << "OUTPUT: " << pMatch(s) << endl;
Вот что он выводит в отношении string s = ")(()("; // The Input
INPUT: )(()(
OUTPUT: ()(()())
это был просто жестко заданный ввод.
причина, по которой я знал это, потому что я проследил его использование
его использование здесь cout << paranFix(s); // This outputs: (((())((()))))
, если string s = (((())((();
, который имеет подпись string paranFix(string input);
, таким образом, s
становится локальной переменной
(наконец-то! Переменная с приличным именем!)