Yıldızlar İle Üçgenler
Bu yazımızda siz değerli takipçilerimize C#‘da yıldızlar ile üçgen şekilleri nasıl yapılır onu anlatmış göstermiş olacağız. Aşağıda düz üçgen
ters üçgen
içi boş üçgen
ve piramit
yapımını örnekler ile göstermiş bulunmaktayız. Şimdi tek tek bu örneklere göz atalım.
Düz üçgen yapımı
1 2 3 4 5 6 7 8 9 10 11 12 | Console.WriteLine("DÜZ ÜÇGEN YAPIMI"); for (int i = 1; i <= 10; i++) // yukarıdan aşağıya tek tek 10 satır ataması için { for (int j = 0; j < i; j++) // soldan sağa yıldızları teker teker arttırarak yazdırdığı kısım // ikinci for'u iptal edersek alt alta 10 adet yıldız yazdırır ama ilk for satırını iptal edersek program çalışmaz { Console.Write("*"); // bu kısımda Write olması bizim için yıldızları yan yana yazdırması anlamını taşır } Console.WriteLine(); } Console.Read(); |
Alttaki kod satırı kısmında for’ların içine int ile tanımlama işlemi yapmış bulunmaktayız.
Dilerseniz int tanımlama kısmını for kısmından önce yanı bir üst kod satırında tanımlama işlemi yapabilirsiniz.
1 2 3 | for (int i = 1; i <= 10; i++) { for (int j = 0; j <; i; j++) |
şimdi ise yukarıdaki bahsettigim int tanımlama işlemini sizlere aktarayım.
1 2 3 4 | int i, j; for ( i = 1; i <= 10; i++) { for ( j = 0; j <; i; j++) |
Düz üçgen yapımının ekran çıktısı aşağıda verilmiştir.
1 2 3 4 5 6 7 8 9 10 11 | DÜZ ÜÇGEN YAPIMI * ** *** **** ***** ****** ******* ******** ********* ********** |
Ters üçgen yapımı
Ters üçgenin yapım mantığı’da gene yukarıdan aşağıya on adet satır oluşturmak ve ilk satırı on tane eleman atayıp birer azaltmaktır.
1 2 3 4 5 6 7 8 9 10 | Console.WriteLine("TERS ÜÇGEN YAPIMI"); for (int i = 0; i <= 10; i++) // bu kod satırımızda i degeri 10 tane satırı yazdırdı { for (int j = 10; j > i; j--) // bu kod satırında ise j değeri ilk satırı 10 yıldız ile başlattı ve her seferinde birer azaltma işlemi uyguladı { Console.Write("*"); //bu kısımde Write olması bizim için yıldızları yan yana yazdırması anlamını taşır } Console.WriteLine(); } Console.Read(); |
İ değerimiz bizim sol baştaki alt alta gelen satırlardaki ilk elemanlarımızın çıktısını vermektedir.
Bu alttaki kodumuzda ikinci for işlemini iptal ettik ve tek i tanımlı değişkenimizin ekran çıktısını aşağıda vereceğiz.
1 2 3 4 5 6 7 8 9 10 | Console.WriteLine("TERS ÜÇGEN YAPIMI"); for (int i = 0; i <= 10; i++) // bu kod satırımızda i degeri 10 tane satırı yazdırdı { // for (int j = 10; j > i; j--) // bu kod satırında ise j değeri ilk satırı 10 yıldız ile başlattı ve her seferinde birer azaltma işlemi uyguladı { Console.Write("*"); //bu kısımde Write olması bizim için yıldızları yan yana yazdırması anlamını taşır } Console.WriteLine(); } Console.Read(); |
Yukarıdaki tek forlu kodumuzun ekran çıktısı
1 2 3 4 5 6 7 8 9 10 11 12 | TERS ÜÇGEN YAPIMI * * * * * Soldaki çıktıyı aşağıdaki ile karşılaştırdığımızda eksik olan yıldızları ise j değişkenin tanımlı * for döngüsü ile yaptırmış bulunmaktayız. * * * * * |
Ters üçgen yapımı ekran çıktısı aşağıdaki şekilde verilmiştir.
1 2 3 4 5 6 7 8 9 10 11 | TERS ÜÇGEN YAPIMI ********** ********* ******** ******* ****** ***** **** *** ** * |
İçi boş üçgen oluşturma
Bu kısımda gerekli açıklamalar kod satırlarının yanında yorumlar şeklinde anlatılmıştır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Console.WriteLine("İÇİ BOŞ ÜÇGEN OLUŞTURMA"); int i, j ; // satır için döngü for (i = 1; i <= 11; i++) // 11 sayısını döngülerde kullanma amacımız 11 adet yıldız olması satır kısmında { //11 adet olan kısmını dilerseniz başka bir sayı ile değiştire bilirsiniz ve atadığınız sayı kadar yıldız değeri alırsınız // sütün için döngü for (j = 1; j < 2 * 11 ; j++) // sütün kısmında 11 adet yıldız olması için { // Eşit tarafları yazdırmak için if (j == (11 - i + 1) // sol kısımdaki yıldızları oluşturur || j == (11 + i - 1)) // sağ kısımdaki yıldızları oluşturur { Console.Write("* "); } // dış üçgen için else if (i == 11 || (i == 11 )) { Console.Write("* "); } // boşluklar için kullanılan kod satırları alt tarafta verilmiştir else { Console.Write(" " + " "); } } Console.Write("\n"); // bu kod satırını silersek üçgen bozuluyor metinde bir alt satıra geçmesini sağlayan kısımdır } |
İçi boş üçgen ekran çıktısı
1 2 3 4 5 6 7 8 9 10 11 12 | İÇİ BOŞ ÜÇGEN OLUŞTURMA * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
Yıldızlar İle Piramit Yapımı
Bu örneğimizde ise yıldız şeklini kullanarak piramit yapmaktayız.
Dilerseniz hem yıldız şeklini değiştire bilir hem de adet sayılarını değişebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Console.WriteLine("Yıldızlar İle Piramit Yapımı"); for (int i = 0; i < 20; i++) // 20 adet satır ve sütün oluşması için { for (int k = i; k < 20; k++) // soldaki boşluklar için { Console.Write(" "); } for (int x = 0; x <= i; x++) { Console.Write("*"); // üçgenimizdeki yıldız şekilleri için Console.Write(" "); } Console.WriteLine(); } Console.Read(); |
Yıldızlar İle Piramit Yapımı Ekran Çıktısı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Yıldızlar İle Piramit Yapımı * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
Şimdi size yukarıdaki dediğim değiştirme
işleminden bir tane örnek vereyim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Console.Write("Soru işareti İle Piramit Yapımı "); Console.WriteLine("değişmiştir"); for (int i = 0; i < 7; i++) // Değişen kısım { for (int k = i; k < 7; k++) // Değişen kısım { Console.Write(" "); } for (int x = 0; x <= i; x++) { Console.Write("?"); // Değişen kısım Console.Write(" "); } Console.WriteLine(); } Console.Read(); |
Şekil & adet değişmiştir
1 2 3 4 5 6 7 8 | Soru işareti İle Piramit Yapımı değişmiştir ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
İlk başta vermiş üçgenler düz ve ters üçgenler sola yaslıdır şimdi ise bunun ufak bir dokunuş ile olduğunu açıklamak isterim. Ufak bir kod satırı ile hem sağa hem de sola yaslamak mümkündür. Bunların neler olduğuna bir göz atalım.
Sola yaslı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Console.Write("Yıldızlar İle Piramit Yapımı "); for (int i = 0; i < 7; i++) { for (int k = i; k < 7; k++) Console.Write(""); // sola yaslamak için boşluğu kaldırmanız yeterlidir } for (int x = 0; x <= i; x++) { Console.Write("*"); Console.Write(" "); } Console.WriteLine(); } Console.Read(); |
Sola yaslı bir şekilde ekran çıktısı
1 2 3 4 5 6 7 8 | Yıldızlar İle Piramit Yapımı * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
Sağa yaslı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Console.WriteLine("Yıldızlar İle Piramit Yapımı "); for (int i = 0; i < 7; i++) { for (int k = i; k < 7; k++) { Console.Write(" "); } for (int x = 0; x <= i; x++) { Console.Write("*"); Console.Write(""); //sağa yaslamak için boşluğu kaldır } Console.WriteLine(); } Console.Read(); |
Sağa yaslı bir şekilde ekran çıktısı
1 2 3 4 5 6 7 8 | Yıldızlar İle Piramit Yapımı * ** *** **** ***** ****** ******* |
TEŞEKKÜRLER…
ben yazılımcının yargı dağıtanını severim, seni gözüm tuttu yenice.
Cok Başarılı Olmus Eline Emegine Saglık Begendim.