使用 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等各种其他语言创建相同的程序。希望本文对您有所帮助。