Merhabalar. Bugün, bir önceki yazımıza benzer bir algoritma sorusuyla devam edeceğiz. Diğer sorumuzda üçgen oluşturmayı öğrenmiştik, bu yazımızda da ters üçgen oluşturmayı öğreneceğiz.
Aynı algoritmadan yola çıkarak bunu nasıl oluşturacağımızı düşünelim.
Boşluklar, bu algoritmada artarak ilerliyor.
0 – 1 – 2 – 3 – 4 şeklinde. Bu kısımdaki algoritma mantığımız, sayı merdiveni oluştururken kurduğumuz algoritmanın aynısı diyebiliriz. Bir nevi burada da boşluklardan basamak oluşturmuş olacağız.
Yıldızlar için ise, 2*n + 1 kuralını uygulayacağız. Buna göre Java kodlarımız şu şekilde olacak:
import java.util.Scanner; public class tersucgenoluşturma { public static void main(String[] args) { // TODO Auto-generated method stub Scanner klavye=new Scanner(System.in); System.out.println("Bir Sayı Giriniz"); int n=klavye.nextInt(); for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ System.out.print(" "); } for(int k=2*n-1;k>=(2*i+1);k--){ System.out.print("*"); } System.out.println(); } } }
- İlk olarak kaç basamaklı üçgen oluşturmak istediğimizi giriyoruz.
Scanner klavye=new Scanner(System.in)
System.out.println(“Bir Sayı Giriniz”);
int n=klavye.nextInt();
- Birinci for döngümüzü her bir basamağı oluşturabilmek ve boşlukların yerlerini bulabilmek için oluşturuyoruz.
for(int i=0; i<n; i++){
- İkinci for döngümüzü ise boşlukların yerleri için kullanacağız.
for(int j=0; j<=i; j++){
System.out.print(” “)
}
- Son for döngümüz sayesinde de yıldızların nereye konulacağını programa tanıtmış oluyoruz.
for(int k=2n-1; k>=(2i+1); k–){
System.out.print(“*”);
}
NOT: k sayımızı 2n-1 ile başlattık. Yani klavyeden 5 değerini girdiğimizde ilk satırda 9 yıldız birikecek. Bu bizim algoritmamızı karşılıyor. Eğer döngüyü, 2i+1 ile başlatsaydık i değeri, en baştaki 0’dan başlayacağı için 1 yıldız olacak ve diğer adımlarda 3 – 5 – 7 diye devam edecek ve sonuçta ters üçgen yerine düz üçgen oluşacaktı.
- Son olarak da gerektiği kadar yıldız oluşturduktan sonra, bir sonraki satıra geçmesini sağlayacak kodu ekliyoruz.
System.out.println();
Bu şekilde kodlarımızı tanımlamış olduk. Çıktılarımız:
Ters üçgen algoritmamızı da bu şekilde bitirmiş oluyoruz.
Herkese kolay gelsin 🙂 İyi çalışmalaar 🙂
Leave a Reply