0

Java Eğitimleri 22 – Üçgen Oluşturma

 

Merhabalar. Bugünkü sorumuz algoritma bilgilerimizi tazeleyecek bir konuyla ilgili. Karışık bir algoritması var bana göre, fakat anlayınca sürekli buna benzer sorular çözmekten kendinizi alamayacaksınız  🙂

Klavyeden bir sayı gireceğiz ve o sayı sayesinde “*” işaretiyle bir üçgen oluşturmuş olacağız.

Örneğin; klavyeden 15 sayısını girdiğimizde çıktımız şöyle olacak:

Kodlarımızı yazmaya başlamadan önce algoritmanın mantığını çözmeye çalışalım. Fark ettiyseniz * sayımız belli bir kurala göre dizilmiş.

1 – 3 – 5 – 7 – 9 gibi. Yani koda dönüştürmek isteseydik bunun kuralı 2*i+1 şeklinde olacaktı.

Diğer bir kural ise boşluklar. Boşluklar da bir kurala göre oluşmuş oluyor bu durumda.

10 – 9 – 8 – 7 – 6 gibi. Boşlukları da for döngüsü ile koda dönüştüreceğiz. Algoritma mantığını anladığımıza göre sorumuzu çözmeye başlayalım.

Java Kodlarımız:

  • İlk adımımızda Scanner komutu ile klavyeden veri girişini sağlamış oluyoruz.      

 

 Scanner klavye=new Scanner( System.in);

System.out.println(“Bir Sayı Giriniz :”); 

int n=klavye. nextInt();

 

  • Boşluklar için iç içe 2 for döngüsünü açıyoruz.

 

for(int i=0;i<=n-1; i++){
for(int j=0;j<=n-i; j++){
System.out.print(” “);

  • For döngümüz boşlukların hangi satırda olacağını belirlerken, 2. for döngümüz boşlukların satırdaki sıralarını belirliyor. Bunu bir dizi gibi düşünürsek dizi[i][j]= ” ” olarak atıyor. Yani bu adımımızda sol kısımdaki boşluğu oluşturmuş olduk.

 

  • İkinci adımımızda * işaretlerinin hangi yerlerde olması gerektiğini kodlayacağız. Buradaki kuralımızı 2*i+1 şeklinde belirlemiştik. Buna göre;     

 

for(int k=1;k<=(2*i+1);k++){
System.out.print(“*”); 

 

Bu şekilde kodlamamızı tamamlamış olduk. Programımızı çalıştırdığımızda çeşitli çıktılar elde edebiliyoruz.

Üçgen oluşturma algoritmasını ve Java kodlarını bu şekilde öğrenmiş olduk. Bir sonraki yazımızda görüşmek üzere, iyi çalışmalar 🙂

 


Like it? Share with your friends!

0

0 Comments

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir