ホームページ >バックエンド開発 >C++ >指定された括弧を使用して、C プログラムでバランスのとれた括弧表現を出力します。

指定された括弧を使用して、C プログラムでバランスのとれた括弧表現を出力します。

王林
王林転載
2023-09-09 23:13:021181ブラウズ

指定された括弧を使用して、C プログラムでバランスのとれた括弧表現を出力します。

事前定義された値を持つ 4 つの変数 a、b、c、d が与えられると、使用される変数に従って指定された括弧が出力されます。

Where 変数、

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

このタスクは、指定されたすべての括弧を使用して、バランスのとれた括弧式を出力するか、バランスの取れた括弧式を形成できない場合は -1 を出力することです。複数の回答がある場合は、指定された括弧を使用して形成された複数の回答のいずれかを出力できます。

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

この結果を達成するには、まず、指定された数の括弧でバランスの取れた括弧式を形成できるかどうかを確認します。指定された数のかっこから式を構築できる場合は、それが可能です。

  • 印刷タイプ 1 括弧の数。
  • 印字種類数は3括弧です。
  • 印刷タイプ 4 括弧の数。
  • 印刷タイプ 2 括弧の数。

以下は、メソッドのアルゴリズムと実装です。

アルゴリズム

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

#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;
}

出力

上記のプログラムを実行すると、次の出力が生成されます

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

以上が指定された括弧を使用して、C プログラムでバランスのとれた括弧表現を出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。