gpt4 book ai didi

c++ - 星号菱形偶数C++

转载 作者:太空宇宙 更新时间:2023-11-04 13:46:10 26 4
gpt4 key购买 nike

我想弄清楚如何让它与偶数一起工作来制作这样的东西;

输入需要制作菱形图案的行数:6

  *
***
*****
*****
***
*

我一直在用额外的一行来获取它。

   *
***
*****
*******
*****
***
*

代码如下:

#include<iostream> 
#include<cstdlib>
using namespace std;

int main()
{

int NUM = 6;


int i=0, j=0;
//NUM=NUM-1;
for(i=-NUM; i<=NUM-1; i++)
{
//cout<<i<<"part1";
for(j=-NUM; j<=NUM-1; j++)
{
//cout<<j<<"part2";
if(abs(i)+abs(j)<=((NUM-1)/2+1))
{
cout<<"*";}
else
{
cout<<" ";}
}
cout<<endl;
}

system("PAUSE");
return 0;
}

有什么提示吗?

最佳答案

将每一行设想为两个数字:x) 空间数和 y) 星星数。所以对于你来说,你会得到:

i  x y 
------
0: 2 1
1: 1 3
2: 0 5

2: 0 5
1: 1 3
0: 2 1

观察下半部分只是上半部分“倒过来”,这意味着倒数。

现在,创建一个表达式,将 i 转换为 xy。例如 x=2-i 似乎有效(它可能更复杂,但让我们现在尝试一下)。使用 y 做类似的事情。现在使用以下伪代码编写代码。

for i=0..2
for x (which is some expression involving i)
write a space
for y (which is some expression involving i)
write a star
write a newline

for i=2..0
(repeat above, better yet, write a function to do it call it twice

或者,当表格如下所示时,您可以使用 if 语句来计算 xy:

i  x y 
------
0: 2 1
1: 1 3
2: 0 5
3: 0 5
4: 1 3
5: 2 1

例如:x2-i,当 i<3 和 i-3 否则。

关于c++ - 星号菱形偶数C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25860181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com