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

指定されたパターンを再帰的に印刷します


ここでは、与えられた問題に従って、再帰的アプローチを使用してパターンを表示する必要があります。

再帰関数 n回自分自身を呼び出すものです。プログラムには「n」個の再帰関数が存在する可能性があります。再帰関数を使用する際の問題は、その複雑さです。

アルゴリズム

START
Step 1 -> function int printpattern(int n)
   If n>0
      Printpattern(n-1)
      Print *
   End IF
End
Step 2 -> function int pattern(int n)
   If n>0
      pattern(n-1)
   End IF
   Printpattern(n)
   Print \n
End
STOP

#include <stdio.h>
int printpattern(int n) {
   if(n>0) {
      printpattern(n-1);
      printf("*");
   }
}
int pattern(int n) {
   if(n>0) {
      pattern(n-1); //will recursively print the pattern
   }
   printpattern(n); //will reduce the n recursively.
   printf("\n"); //for new line
}
int main(int argc, char const *argv[]) {
   int n = 7;
   pattern(n);
   return 0;
}

出力

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

*
**
***
****
*****
******
*******

  1. Cプログラムで指定されたサイズの最大和二乗部分行列を出力します。

    NxNの行列が与えられた場合、行列MxMのすべての要素の加算が最大になるように、M=1であるMxMの部分行列を見つけます。行列NxNの入力には、ゼロ、正、および負の整数値を含めることができます。 例 Input:    {{1, 1, 1, 1, 1},    {2, 2, 2, 2, 2},    {3, 3, 3, 3, 3},    {4, 4, 4, 4, 4},    {5, 5, 5, 5, 5} } Output:    4 4    

  2. Cプログラムの指定された行列のゼロの数でソートされた列のインデックスを出力します。

    サイズNxMの配列が与えられ、N行数とM列数であり、タスクは、任意の列に存在するゼロの数に基づいてソート操作を実行した後、対応する行列のすべての列のゼロの数を出力することです。 たとえば、1番目の st 列には1つのゼロと2つのndが含まれます 列にゼロと3番目のrdが含まれていません 列に2つのゼロが含まれている場合、結果は− 312になります。 例 Input:    0 0 0    1 1 1    1 0 1 Output: 1 3 2 説明 注 −マトリックスはインデックス1から開始したと見なされます。 例