金字塔aztec在c++中
Pyramid aztec in C++
我是c++新手。我正在尝试创建一个程序,它在输出中给我这样的
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
这是我的尝试
#include <iostream>
using namespace std;
int const n=10;
int main (){
int i,j,k,mat[n][n];
for(i=0;i<n;i++)
for(j=0;j<n;j++){
mat[i][j]=?
}
return 0;
}
无效的解决方案,但似乎有效:
#include <iostream>
using namespace std;
int const n=10;
int main ()
{
int i, j, mat[n][n] = { 0 };
int indent;
for (indent = 0; indent <= n/2; indent++) {
for (i = indent; i < n-indent; i++) {
for (j = indent; j < n-indent; j++) {
mat[i][j]++;
}
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << mat[i][j] << ' ';
}
cout << endl;
}
return 0;
}
我也试了一下,只是为了好玩,令人惊讶的是,我的答案和你的非常接近:)只要写下相同数字的平方,每个角都是循环的。
#include <iostream>
using namespace std;
int const n=5;
int main ()
{
int i, j, k, mat[n][n];
for (k = 0; k < n; k++)
{
for (i = k; i < n-k; i++)
{
for (j = k; j < n-k; j++)
{
mat[i][j] = k+1;
}
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
cout << mat[i][j] << ' ';
}
cout << endl;
}
return 0;
}
相关文章: