2016-04-06 14 views
0

arasında üstüste Üçgen bir altüst üçgen ve normal üçgen oluşturmak için gereken ve bu gibi görünmelidir: Ben bir şey yarattıNormal Ve C yıldızlı ++

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

ama 5 yeni hattını da diğer üçgenden daha : Burada

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





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

C++ kodu, Umut birisi benim sorunu çözebilirsiniz:

int n,i,j; 

cout<<"Give the Number N of Stars "; 
cin>>n; 

for(i=1; i<=n; i++) 
{  
    for(j=1;j<=i-1;j++) 
     cout<<" "; 
    for(j=i;j<=n-i+1;j++) 
     cout<<"*"; 
    cout<<"\n"; 
} 

for(i=1;i<=n;i++) 
{  
    for(j=i;j<=n-1;j++) 
     cout<<" "; 
    for(j=1;j<=2*i-n;j++) 
     cout<<"*"; 
    cout<<"\n"; 
} 
+0

İki döngü için bunu yapmak zorunda mıydınız? Ve kodunuzda adım atmak için bir hata ayıklayıcısını nasıl kullanacağınızı öğrenmeniz gerekebilir gibi geliyor. İyi bir hata ayıklayıcı ile, program satırınızı istediğiniz gibi çalıştırabilir ve beklediğiniz yerden saptırabilirsiniz. Herhangi bir programlama yapacaksanız bu önemli bir araçtır. –

+0

Bazı keyfi N'yi seçin ve çizdiğinizde ne yaptığınızı görmek için el ile sıraya geçin. (Sana bir ipucu vereceğim, ilmekler için sınırlar tam olarak düşündüğün gibi değil.) – callyalater

cevap

0

Y Bizim dış döngü nn (yani n satır anlamına gelir), ancak her satır, yıldız sayısı 2 değil, 1 azalır, daha az olan n satırdan daha az var. Ekstra satırlar bunun sonucudur. Ekstra hatlarında hiç yıldız çünkü bu döngü içinde vardır: j başlangıç ​​değeri için sonlandırma koşulu daha büyük olduğuna i kez

for(j=i;j<=n-i+1;j++) 
    cout<<"*"; 

n yarısı boyutunu aşıyor, döngü, herhangi bir yıldız yazdırmaz j.

+0

Hayatımı kurtardığın için teşekkürler :):) –

+0

Bunu hak ettiğimi bilmiyorum ama yardım etmekten memnunum – Chara