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

王林
Libérer: 2023-09-09 23:13:02
avant
1178 Les gens l'ont consulté

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 ))
Copier après la connexion

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 : (((((()()()()())))))()()
Copier après la connexion

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
Copier après la connexion

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;
}
Copier après la connexion

Sortie

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

(((((()()()()())))))()()
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal