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

C++で逆波形で行列を印刷します


この問題では、行列が与えられます。私たちのタスクは、行列を逆波形で印刷することです。 一行で。

この例で問題が明確になります

Input:
   1 4 6 11
   2 5 8 54
   7 9 3 43
   1 7 4 34
Output: 11 54 43 34 4 3 8 6 4 5 9 7 1 7 2 1

この問題を解決するには、行列の逆波形を印刷する必要があります。このために、最後の列の要素を下方向に印刷し、最後から2番目の列の要素を上方向に印刷します。これに配列の最初の列があります。

ソリューションの実装を示すプログラム

#include<iostream>
using namespace std;
#define R 4
#define C 4
void printReverseWaveForm(int m, int n, int arr[R][C]) {
   int i, j = n - 1, wave = 1;
   while (j >= 0) {
      if (wave == 1) {
         for (i = 0; i < m; i++)
            cout<<arr[i][j]<<" ";
         wave = 0;
         j--;
      } else {
         for (i = m - 1; i >= 0; i--)
            cout<<arr[i][j]<<" ";
         wave = 1;
         j--;
      }
   }
}
int main() {
   int arr[R][C] = {
      { 1, 5, 7, 98 },
      { 15, 22, 45, 12 },
      { 5, 10, 21, 34 },
      { 31, 24, 45, 60 }
   };
   cout<<"Reverse Wave Form of the given matrix :\n";
   printReverseWaveForm(R, C, arr);
   return 0;
}

出力

与えられた行列の逆波形-

98 12 34 60 45 21 45 7 5 22 10 24 31 5 15 1

  1. 正方行列をCでZ形式で印刷するプログラム

    プログラムの説明 正方行列の要素をZ形式で印刷します 正方行列は、同じ数の行と列を持つ行列です。 n行n列の行列は次数の正方行列として知られています アルゴリズム To print the elements of the Square Matrix in Z form We need to print the first row of matrix then diagonal and then last row of the square matrix. 例 /* Program to print a square matrix in Z form */ #include<st

  2. 与えられた行列をC++で反時計回りのスパイラル形式で印刷します

    この問題では、2次元の行列が与えられます。そして、私たちのタスクは、から反時計回りのスパイラルで行列の要素を印刷することです。 反時計回りのスパイラルフォーム −これは、左上から始まり、反時計回りに最初の右下から左上に向かって進むスパイラルトラバーサルです。 反時計回りのトラバーサルは159 13 14 15 16 12 8 4 3 2 6 10117になります。 問題を理解するために例を見てみましょう Input:    2 4 6    1 7 9    5 0 3 Output: 2 1 5 0 3 9 7 この問