For Döngüsü ile Yıldızlardan Piramit Yapma
For Döngüsü ile Yıldızlardan Piramit Yapma işlemini inceleyeceğiz. Alttaki şekilde görüldüğü gibi 5 satırdan oluşan ve her satırda yıldız sayısının giderek arttığı bir yapı var. Bu soru birçok kitapta var ama çözümü kaynaklarda yok.
Bu şeklin algoritmasını nasıl çıkarırsınız? Soldaki boşluklara dikkat edelim. En altta 5 yıldız olduğuna göre boşlukları buna göre hesaplayalım. Hem boşluklar için hem de yıldızlar için ayrı ayrı döngüler açmalıyız. Tabi bu problem matematik gibi, birden fazla yöntemi olabilir, siz de kendiniz daha kısa bir yöntem düşünebilirsiniz.
Eb dıştaki for döngüsü, 5 satır olduğu için 1'den 5'e kadar dönerken, içteki döngü her satırdaki boşlukları ayarlamakla görevli. Yalnız konulacak boşluk sayısını 5-i şeklinde planladık. Yani;
1. satırda 5-i değeri 5-1=4 olacak ve 4 boşluk koyacak,
2. satırda 5-i değeri 5-2=3 olacak ve 3 boşluk koyacak,
....
en sonda 5-i=5-5=0 olacak ve yıldız koymayacak.
Sonraki k döngüsü ise yıldız koymakla görevli. Boşlukları j ödngüsü ile koyduktan sonra k ile yıldızları koyuyoruz. k ödngüsü de i ödngüsüne bağlı.
i değeri 1 iken k döngüsü 1 defa dönüyor, 1 yıldız koyuyor,
i değeri 2 iken k döngüsü 2 defa dönüyor, 2 yıldız koyuyor.
....
i değeri 5 iken k döngüsü 5 defa dönüyor ve son satırda 5 yıldız konuyor.
private void button1_Click(object sender, EventArgs e)
{
string bosluk = "", yildiz = "" ;
for (int i = 1; i <= 5; i++)
{
bosluk = ""; yildiz = "";
for (int j = 1; j <= 5 - i; j++)
bosluk+=" ";
for (int k = 1; k <= i; k++)
yildiz+= "*";
listBox1.Items.Add(bosluk + yildiz);
}
}
Yukarıdaki örnekl gibi birçok örnek düşünebilirsiniz. Örneğin bu piramitin altına ters çevrilmiş şeklini nasıl programlarsınız? Bu problemin çözümünü de size bırakıyorum.
Mutlu Kodlamalar,
Oğuzhan TAŞ
Aralık 2020
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?