2015-12-20 33 views
-2
int number1=5; 
int number2=4; 
for(int i=1; i<=7; i++) 
{ 
    if(rows <= 1) 
     for(int i=1; i<=7; i++) 
     { 
      cout<< number1; 
     } 
    else if(i<7) 
    { 
     cout<< endl; 
     for(int j=1; j<=6; j++) 
     { 
      if(side2==1 || side2==6) 
       cout<< number1; 
      else 
       cout<< " "; 
     } 
    } 
    else 
    { 
     cout<< endl; 
     for(int k=1; k<=6; k++) 
     { 
      cout<<number1; 
     } 
    } 

我的程序打印这种形状打印的形状与数字

555555555 
5  5 
5  5 
5  5 
5  5 
555555555 

,但我一直在努力,使它看起来像这样

555555555 
544444445 
543333345 
543222345 
543212345 
543222345 
543333345 
544444445 
555555555 

我听说过这个网站从一个朋友对你们有多大帮助,我希望你们也能帮助我。

+1

你确定你有你的语言的标签吗?你如何让cout <<'在Java中做任何事情? –

+1

我没有这样做,有人改变了标签,我标记了C++形状 –

+0

你可以看到一些相关的例子[这里](http://www.programiz.com/c-programming/examples/pyramid-pattern)。 – Itay

回答

0

最简单的是:

std::cout << "555555555" << std::endl; 
std::cout << "544444445" << std::endl; 
std::cout << "543333345" << std::endl; 
std::cout << "543222345" << std::endl; 
std::cout << "543212345" << std::endl; 
std::cout << "543222345" << std::endl; 
std::cout << "543333345" << std::endl; 
std::cout << "544444445" << std::endl; 
std::cout << "555555555" << std::endl; 

,并用一个循环:

for (int y = 0; y < 9; ++y) { 
    for (int x = 0; x < 9; ++x) { 
     std::cout << char('1' + std::max(std::abs(x - 4), std::abs(y - 4))); 
    } 
    std::cout << std::endl; 
} 
+0

不喜欢这个我想通过使用循环 –