在本文中,我们给出了几行和几列的值。我们需要打印一个盒子模式,使得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()函数
- 外层循环(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等创建相同的程序。希望您找到本文有帮助。