使用 C++ 查找 0 内 1 的模式
c++server side programmingprogramming
在本文中,我们给出了几行和几列的值。我们需要打印一个 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 到 rows 迭代遍历行。
- 内循环 for (j = 1; j <= columns; j++) 从 1 到 columns 迭代遍历列。
- 检查 (i == 1 || i == rows || j == 1 || j == columns) 元素是否在第一行/最后一行或第一列/最后一列,如果是则打印 ‘1’,如果否则打印 ‘0’。
结论
在本文中,我们根据行数和列数来解决打印框模式给定,即 0 内的 1 的模式。我们还创建了一个 C++ 程序来解决这个问题。我们可以用其他各种语言(如 C、java、python 等)创建相同的程序。希望您觉得这篇文章有用。