使用C++查找0中1的模式


在本文中,我们给出了几行和几列的值。我们需要打印一个方框图案,使得1打印在第一行、第一列、最后一行和最后一列,而0打印在其余元素上。例如:

Input : rows = 5, columns = 4
Output :
   1 1 1 1
   1 0 0 1
   1 0 0 1
   1 0 0 1
   1 1 1 1

Input : rows = 8, columns = 9
Output :
   1 1 1 1 1 1 1 1 1
   1 0 0 0 0 0 0 0 1
   1 0 0 0 0 0 0 0 1
   1 0 0 0 0 0 0 0 1
   1 0 0 0 0 0 0 0 1
   1 0 0 0 0 0 0 0 1
   1 0 0 0 0 0 0 0 1
   1 1 1 1 1 1 1 1 1

寻找解决方案的方法

一种简单的方法是迭代每一行和每一列,并检查元素是否位于第一行、第一列、最后一行和最后一列;如果是,则打印‘1’;否则,我们位于边框内,则打印‘0’。通过这种方式,我们可以按照我们想要的方式形成一个方框图案。

示例

using namespace std;

#include <bits/stdc++.h>
// Function to print pattern
void create_pattern (int rows, int columns) {

   int i, j;
   for (i = 1; i <= rows; i++) {
      for (j = 1; j <= columns; j++) {
      // If element is in first/last row or first/last column
         if (i == 1 || i == rows || j == 1 || j == columns) {
            cout << " 1";
         } else {
            cout << " 0";
         }
      }
      cout << "\n";
   }
   return;
}

int main () {
   int no_of_rows = 7;
   int no_of_columns = 8;

   create_pattern (no_of_rows, no_of_columns);
   return 0;
}

输出

1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1

以上代码的解释

  • 使用行数和列数的值调用create_pattern()函数。
  • 外循环for (i = 1; i <= rows; i++) 迭代从1到rows,遍历行。
  • 内循环for (j = 1; j <= columns; j++) 迭代从1到columns,遍历列。
  • 检查if (i == 1 || i == rows || j == 1 || j == columns) 元素是否在第一行/最后一行或第一列/最后一列,如果是则打印‘1’,否则打印‘0’

结论

在本文中,我们解决了根据给定的行数和列数打印方框图案的问题,即0中1的图案。我们还创建了一个C++程序来解决这个问题。我们可以使用其他各种语言(如C、Java、Python等)创建相同的程序。希望本文对您有所帮助。

更新于:2021年11月26日

274 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.