Je voudrais vérifier si la chaîne d'entrée contient la même quantité de parenthèses d'ouverture/fermeture. Si oui, imprimez vrai sinon faux. J'ai écrit ce code mais il y a un bug que quelqu'un peut aider?Comment vérifier si les parenthèses sont identiques
See My Code Cela fonctionne bien si j'entre une chaîne «() » qui commence avec le support ouvert et se termine avec le support proche, mais si je rentre «) (» il imprime toujours sur une vraie sortie ?. doit être:
() = true
(())=true
()) = false
(() = false
)(= false
)(() = false
etc...
Merci pour l'aide
EDIT:
using System;
public class Program
{
public void Main()
{
CheckParentheses ("()");
}
public void CheckParentheses (string inputParentheses){
int openParentheses = 0;
int closeParentheses = 0;
for (int i = 0; i < inputParentheses.Length; i++)
{
if (inputParentheses[i] == '(')
{
openParentheses++;
}
if (inputParentheses[i] == ')') {
closeParentheses++;
}
if (openParentheses == closeParentheses)
Console.WriteLine("true");
}
}
}
@LarsTech vous pouvez cliquer sur ce lien et il vous mènera à mon code. Cependant j'ai passé mon code dans le fil principal. – dipesh
Votre code fait ce que vous décrivez - détecter la même quantité de parenthèses d'ouverture et de fermeture. Ce que vous semblez vouloir, c'est trouver des parenthèses d'ouverture/fermeture correspondantes. Peut-être essayer juste le compteur d'un support; incrémenter à l'ouverture, décrémenter à la fermeture. Si jamais il tombe en dessous de zéro, la réponse est fausse; si elle est non nulle à la fin, la réponse est fausse; si c'est zéro, la réponse est vraie. –