Java Soru Çözümleri 14 – Ters Üçgen Oluşturma

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 🙂

 

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: