在 C++ 中交错打印给定矩阵


在这个问题中,我们给出的是一个二维矩阵。我们的任务是用交错的形式打印矩阵。

我们举一个例子来理解一下这个问题

Input:
   12 99 43
   10 82 50
   15 75 5
Output: 12 99 43 50 82 10 15 75 5

为了解决这个问题,我们将双向打印数组中的元素(从左到右和从右到左)。并使用标记变量改变方向。

示例

 实时演示

#include <iostream>
using namespace std;
void printZigZagPattern(int row, int col, int a[][5]) {
   int evenRow = 0;
   int oddRow = 1;
   while (evenRow<ow) {
      for (int i=0;i<col;i++) {
         cout<<a[evenRow][i]<<" ";
      }
      evenRow = evenRow + 2;
      if(oddRow < row) {
         for (int i=col-1; i>=0; i--)
            cout<<a[oddRow][i] <<" ";
      }
      oddRow = oddRow + 2;
   }
}
int main() {
   int r = 3, c = 3;
   int mat[][5] = {
      {12,99,43},
      {10,82,50},
      {15,75,5}
   };
   cout<<"Elements of the matrix in ZigZag manner :\n";
   printZigZagPattern(r , c , mat);
   return 0;
}

输出

交错形式的矩阵元素-

12 99 43 50 82 10 15 75 5

更新于: 27-Jan-2020

618 查看次数

开启 职业生涯

完成课程,获取认证

开始学习
广告