Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

異なるレイヤーのダイヤモンドパターンのCプログラム


番号が与えられ、タスクは、与えられたn個の異なるレイヤーでダイヤモンドパターンを生成し、それを表示することです。

Input: n = 3

出力:

異なるレイヤーのダイヤモンドパターンのCプログラム

以下のプログラムで使用されるアプローチは次のとおりです

  • 行数を入力
  • このパターンには((2 * n)+ 1)行があります
  • 0 – nのスペースの数は(2 *(n – i))
  • そして、n + 1から最後までのスペースの数は((i – n)* 2)
  • です。

アルゴリズム

Start
Step 1-> declare a function to print a pattern
   void print_pattern(int n)
   declare variables as int i, j
   Loop For i = 1 i <= n * 2 i++
      Print space
   End
   Print \n
   Loop For i = 1 and i <= (n * 2) – 1 and i++
      IF i<n
      Loop For j = 1 and j <= (n - i) * 2 and j++
         Print space
      End
   End
   Else
      Loop For j = 1 and j <= (i % n) * 2 and j++
         Print space
      End
      IF i < n
      Loop For j = 0 and j <= i % n and j++
         Print j
      End
      Loop For j = (i % n)-1 and j > 0 and j--
         Print j
      End
         Print 0
      End
      Else IF i > n
         Loop For j = 0 and j <= n – (i – n) and j++
            Print j
         End
         Loop For j = (n – (i – n))-1 and j > 0 and j--
            Print j
         End
            Print 0
      End
      Else
         Loop For j = 0 and j <= n and j++
            Print j
         End
         Loop For j = n –1 and j > 0 and j--
            Print j
         End
            Print 0
         End
            Print \n
         End
         Loop For i=1 and i<=n*2 and i++
            Print space
         End
            Print 0
Step 2-> In main()
   Declare variable as int n=3
   Call function print_pattern(n)

#include <stdio.h>
void print_pattern(int n) {
   // putting the space in line 1
   int i, j;
   for ( i = 1; i <= n * 2; i++)
      printf(" ");
      printf("0\n");
   // generating the middle pattern.
   for ( i = 1; i <= (n * 2) - 1; i++) {
      // printing the increasing pattern
      if (i < n) {
         for ( j = 1; j <= (n - i) * 2; j++)
         printf(" ");
      } else {
         for ( j = 1; j <= (i % n) * 2; j++)
         printf(" ");
      }
      if (i < n) {
         for ( j = 0; j <= i % n; j++)
            printf("%d ", j);
         for ( j = (i % n) - 1; j > 0; j--)
            printf("%d ", j);
            printf("0");
      }
      // printing the decreasing pattern
      else if (i > n) {
         for ( j = 0; j <= n - (i - n); j++)
            printf("%d ", j);
         for ( j = (n - (i - n)) - 1; j > 0; j--)
            printf("%d ", j);
            printf("0");
      } else {
         for ( j = 0; j <= n; j++)
            printf("%d ", j);
         for ( j = n - 1; j > 0; j--)
            printf("%d ", j);
            printf("0");
      }
      printf("\n");
   }
   // putting the space in last line
   for ( i = 1; i <= n * 2; i++)
      printf(" ");
      printf("0");
}
int main() {
   int n = 3;
   print_pattern(n);
   return 0;
}

出力

異なるレイヤーのダイヤモンドパターンのCプログラム


  1. 平行四辺形の円周のためのCプログラム

    平行四辺形の辺が与えられ、タスクは、与えられた辺で平行四辺形の円周を生成し、結果を表示することです 平行四辺形とは何ですか? 平行四辺形は、-を持つ2次式の一種です。 反対側が平行 反対の角度は等しい ポリゴンの対角線は互いに二等分します 下の図に示されている「a」と「b」は、平行四辺形の辺であり、平行四辺形が図に示されています。 平行四辺形の周囲長/円周は次のように定義されます − 平行四辺形の円周=2(a + b) =2 * a + 2 * b 例 Input-: a = 23 and b = 12 Output-: Circumference of a paral

  2. C与えられた対角線の長さの六角形の領域のプログラム?

    ここでは、対角線の長さを使用して1つの六角形の面積を取得する方法を説明します。六角形の対角線の長さはdです。 正六角形の内角はそれぞれ120°です。すべての内角の合計は720°です。対角線がdの場合、面積は- 例 #include <iostream> #include <cmath> using namespace std; float area(float d) {    if (d < 0) //if d is negative it is invalid       return -1; &nb