Dizinin en küçük elemanını bulan programın Algoritması ve Kodu

Soru: Elemanları 1-100 tam sayıları arasından rastgele atanan, eleman sayısını kullanıcının girdiği bir dizinin en küçük elemanını bulan programın Algoritmasını ve Kodunu yazınız.

Yanıt: Kullanıcıdan eleman sayısını alırız(n) ve tanımladığımız dizi değişkeninin uzunluğunu n olarak yazarız. Elemanları rastgele atama döngüsü oluşturur, sayacı(i) 0’dan başlatıp n’ye kadar birer birer arttıracağız. Döngünün içinde de diziye 1-100 arasında n sayısında eleman atayacağız. Atanan elemanları görmek için Elemanları ekrana bastırma döngüsü oluşturuyorum ben ama siz zorunda değilsiniz. En küçük elemanı bulmak için dizinin ilk elemanını enKucukE isimli değişkene atıyoruz. Sonra açtığımız for döngüsünde sayacı(i) 1’den başlatıp n’ye kadar birer birer arttırıyoruz, 1’den başlamamızın sebebi ise ilk elemanı en küçük eleman olarak ilk başta belirlememiz. Sonra dizi[i] < enKucukE yi kontrol ediyoruz. Bu şu demek:

Eğer benim 4 elemanlı bir dizim varsa ve elemanları {3,6,2,5} ise 6<3 kontrolünü yapar, yanlış ise devam eder, 2 < 3 kontrolünü yapar doğru olduğu için içine girer, içindeki koda göre işlem yapar.

Yukarıdaki örneğe de bakarsak belirlediğimiz en küçük elemandan daha küçüğü çıkıyorsa bizim bunu en küçük eleman seçmemiz lazım, bunun için de bu elemanı enKucukE değişkenine atmamız lazım. Bunu da enKucukE = dizi[i] şeklinde yazabiliriz. En son da en küçük elamanı bastırırız.

  1. Başla
  2. Eleman Sayısı Gir (n)
  3. Dizi oluştur (dizi[n])
  4. Elemanları rastgele atama döngüsü oluştur. (i=0’dan n’ye kadar birer birer arttır.)
  5. Rastgele tamsayı eleman ata. (dizi[i]=(int)(Math.random()*100)+1)
  6. Elemanları ekrana bastırma döngüsü oluştur. (i=0’dan n’ye kadar birer birer arttır.)
  7. Yazdır dizi[i]
  8. Dizinin ilk elemanını en küçük eleman seç. (enKucukE=dizi[0])
  9. En küçük elemanı bulma döngüsü oluştur. (i=1’den n’ye kadar birer birer arttır.)
  10. Eğer dizi[i]<EnKucukE
  11. Elemanı en küçüğe ata (enKucukE=dizi[i])
  12. Yazdır enKucukE

(Akış Diyagramını Microsoft Visio 2013 ile çizdim.)

(Java Programlama Dili ile Kodunu Yazdım.)

(C++ Programlama Diliyle kodunu yazdım)

(C# Programlama Diliyle kodunu yazdım)

Leave a Reply

Your email address will not be published. Required fields are marked *