Maison >développement back-end >C++ >Imprimer l'expression des parenthèses équilibrées dans le programme C en utilisant les parenthèses données

Imprimer l'expression des parenthèses équilibrées dans le programme C en utilisant les parenthèses données

王林
王林avant
2023-09-09 23:13:021381parcourir

Imprimer lexpression des parenthèses équilibrées dans le programme C en utilisant les parenthèses données

Étant donné quatre variables a, b, c, d, qui ont des valeurs prédéfinies, imprimez les parenthèses données en fonction des variables utilisées.

Où variable,

a for ((
b for ()
c for )(
d for ))

La tâche consiste à utiliser toutes les parenthèses données et à imprimer l'expression entre parenthèses équilibrées, ou -1 si l'expression entre parenthèses équilibrées ne peut pas être formée. S'il y a plusieurs réponses, nous pouvons imprimer n'importe laquelle des réponses multiples formées à l'aide des parenthèses données.

Exemple

Input: a = 3, b = 2, c = 4, d = 3
Output : (((((()()()()())))))()()

Pour obtenir ce résultat, nous pouvons d'abord vérifier si une expression de parenthèses équilibrée peut être formée avec un nombre de parenthèses donné. Si l’expression peut être construite à partir d’un nombre donné de parenthèses, alors nous le pouvons.

  • Imprimez le nombre de supports de type 1.
  • Imprimez les parenthèses de type numéro 3.
  • Imprimez le nombre de supports de type 4.
  • Imprimez le nombre de supports de type 2.

Ce qui suit est l'algorithme et la mise en œuvre de la méthode.

Algorithme

START
Step 1 -> Declare Function void print(int a, int b, int c, int d) Declare int i
   IF ((a == d && a) || (a == 0 && c == 0 && d == 0))
      Loop For i=1 and i<=a and i++
         Print ((
      End
      Loop For i=1 and i<=c and i++
         Print )(
      End
      Loop For i=1 and i<=d and i++
         Print ))
      End
      Loop For i=1 and i<=b and i++
         Print ()
      End
   Else
      Print can&rsquo;t be formed
Step 2 -> main()
   Declare int a = 3, b = 2, c = 4, d = 3
   Call print(a,b,c,d)
STOP

Exemple

#include<stdio.h>
void print(int a, int b, int c, int d){
   int i;
   if ((a == d && a) || (a == 0 && c == 0 && d == 0)){
      for (i = 1; i <= a; i++)
         printf("((");
      for (i = 1; i <= c; i++)
         printf(")(");
      for (i = 1; i <= d; i++)
         printf("))");
      for (i = 1; i <= b; i++)
         printf("()");
   }
   else
      printf("can&#39;t be formed");
}
int main(){
   int a = 3, b = 2, c = 4, d = 3;
   print(a, b, c, d);
   return 0;
}

Sortie

Si nous exécutons le programme ci-dessus, il générera la sortie suivante

(((((()()()()())))))()()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer