使用 C++ 在 0 中找到 1 的模式

在本文中,我们给出了几行和几列的值。我们需要打印一个 Box 模式,以便在第一行、第一列、最后一行、最后一列上打印 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>

// 打印图案的功能

void create_pattern (int rows, int columns) {

   int i, j;

   for (i = 1; i <= rows; i++) {

      for (j = 1; j <= columns; j++) {

      // 如果元素在第一行/最后一行或第一/最后一列

         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 迭代到行以遍历行。

  • (j = 1; j <= columns; j++) 的内部循环遍历 1 到列以遍历列。

  • 检查 (i == 1 || i == rows || j == 1 || j == columns) 元素是否在第一行/最后一行或第一列/最后一列中,打印'1'表示是,打印'0'表示不。

结论

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

以上是 使用 C++ 在 0 中找到 1 的模式 的全部内容, 来源链接: utcz.com/z/331676.html

回到顶部