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:
package uygulamalar;
import java.util.Scanner;
public class üçgenoluş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-1;i++){
for(int j=0;j<=(n-i);j++){
System.out.print(" ");
}
for(int k=1;k<=(2*i+1);k++){
System.out.print("*");
}
System.out.println(" ");
}
}
}
-
- İ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<=(2i+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 🙂

Leave a reply to Java Soru Çözümleri 26 – Yazılım Ağacı – Neslihan SEZER Cancel reply