Mükemmel Sayı Algoritması

By Burak TUNGUT - 21.11.2012 - 4 Yorum - Kategori Java

Bu yazımda mükemmel sayı tanımını yaparak bir sayının mükemmel sayı olup olmadığını kontrol eden algoritmayı yazacağız.

Vize haftası boyunca ara verdiğim blog yazılarıma artık geri dönme vakti gelmişti :) Neyse lafı uzatmadan hemen başlayalım.

Mükemmel sayı nedir ?

Tüm pozitif tam sayı bölenleri toplamı kendine eşit olan sayıya mükemmel sayı deniyormuş. Bu kavramı ilk defa geçen hafta girdiğimiz Programlama Dilleri dersinin vizesinde gördüm. Hemen bir düşüneyim derken 6 sayısını buldum baktığımızda,
6 = 1 * 2 * 3 olarak ayırabilir ve 1+2+3=6 eşitliğinden de mükemmel sayı olduğunu görüyoruz.
 

Mükemmel sayı algoritması

Bir döngü ile 1 den başlayarak parametre ile gelen sayımıza kadar döndürerek, gelen her sayının parametre ile gelen sayının bölümünden kalanına bakarak tam bölünüyorsa daha önce deklare ettiğimiz bir sayıya bu değeri aktarıyoruz.
Döngü bittiğinde deklare edilmiş olan sayı parametre ile gelen sayıya eşit ise mükemmel sayı bulunmuş demektir :)
Umarım yeterince açık olmuştur.
 

Devamı

Java Sesli Sessiz Harf Sayısını Bulma

By Burak TUNGUT - 21.11.2012 - 1 Yorum - Kategori Java

Bu yazımda gelen String değerinin içinde kaç sesli ve kaç sessiz harf geçtiğini bulan bir algoritmayı 2 method ile gerçekleştireceğiz.

Vizelere son bir gün kala yapacağım bu örnekte uykusuzluktan kaynaklanan hatalarımı ve devrik cümlelerimi mazur görünüz :)

Methodlarımızı inceleyelim

Alfabemizde bulunan 26 sayıda bakıcak olursak sesli harfler sessiz harflere göre bir hayli azlar. Bu nedenle gelen değerin sessiz harflerini bulmaktansa, sesli harflerini bularak kendi uzunluğundan çıkartarak sessiz harf sayısını elde etmek daha mantıklı ve performanslı olacaktır.

kacSesli adlı methodumuz da bir adet for döngüsünü 0 dan, gelen değerin uzunluğu kadar döndürüyor ve daha önce bir Stringin içine attığımız büyük ve küçük sesli harflerin gelen değerin içinde kaçkere geçtiğini buluyor ve return ediyoruz.

kacSessiz adlı methodda ise yukarda algoritmasını da belirttiğim gibi gelen değerin uzunluğundan kacSesli methodundan gelen değeri çıkartarak sessiz harflerin sayısını buluyoruz.
 

Devamı

isDigit ile sayi adetini bulma

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu gece ki 2nci yazım ile klavyeden okuyacağımız bir sayının için de kaç tane sayı olduğunu bulacağız.

Genel de TextBox lar da ki denetimler de özellikle şifre girişlerinde "en az şu kadar sayı içermeli".. gibi kontrolleri yapmakta bu tür algoritmalar bize yardımcı oluyor.

Tanıyalım

Hemen Scanner sınıfını kullanarak klavyeden içinde sayıda olabilecek bir parça okuyoruz ve gelen değeri String içine atarak uzunluğu kadar for döngümüzde döndürerek gelen değerin Character.isDigit(int p) methodu ile sayı olup olmadığını geri dönen boolean veri tipiyle kontrol ediyoruz ve içinde kaç adet sayı olduğunu toplam değişkenine toplam++ oparetörümüz ile aktarıyoruz.

Devamı

C++ Pointer ve Kullanımı

By Burak TUNGUT - 20.11.2012 - Kategori C / C++

Bu makale de bir çok yerde işimize yarayacak olan Pointer yani İşaretçileri (Göstericileri) tanıyacağız.
Pointer kavramı aslında bir değişkendir ancak pointer değişkenleri içerdikleri veriler olarak diğer değişkenlerden farklıdırlar.
Çünkü pointer değişkenleri içlerinde normal bir veri değil başka bir değişkenin içerdiği verinin stack memory üzerinde ki adresini gösterirler.

Diğer bir değişle pointerların değişkenlerden farkı; normal değişkenler bir veri belirtirken pointerlar ise adres belirtirler.
Ayrıca bilgisayar donanımına yönelik çoğu işlemler de ancak adresler yani pointerlar yardımıyla gerçekleştirilebilir. Buna örnek olarak bir portun erişimi ya da herhangi bir kartın denetimi söylenebilir.
Ancak bu makalede pointerları, bellek kullanımını kolaylaştırmak için kullanacağız.

Örnek

	int burak, *ptr;
	burak = 2012;
	ptr = &burak;

1.satırda burak adından bir integer değişkeni ve ptr adında bir pointer tanımladık.
2.satırda burak değişkenine 2012 değerini atadım.
3.satır da ise ptr pointerine adres olarak burak değişkeninin adresini almasını istedim.

Devamı

Dizinin En Büyük Elemanını Bulma

By Burak TUNGUT - 20.11.2012 - 1 Yorum - Kategori C / C++

Verilen herhangi bir integer dizi (array) de en büyük değerin hangisi olduğunu bulan bir algoritma yapalım.
Bu isteğimiz veritabanında ki bir kayıt olsaydı MIN ve MAX komutları SQL ayrıcalığı ile yardımımıza koşabilirdi :) Ne yazık ki C / C++ da böyle bir şansımız yok.

Bu örneği 5 adet öğrencinin 0 ile 100 aralığında verilmiş olan notları için yapacağız.Ve en büyük sayıyı bulmak için ise yola 0 ile başlayacağız.

Öncelikle düşünelim

Yazdığım diğer bir makale de ki bubble shorting uygulamalarına her ne kadar benzese de ondan kat kat kolay bir mantığa sahip bir örnek yapacağız.
Öncelikle dizimiz de 5 adet veri olduğunu düşünelim. Bunları ikili olarak karşılaştırarak büyük olanı elimizde tutarak bir sonraki kayıt ile karşılaştıracağız. Ancak başlangıçta en büyük sayıyı bulmak için karşılaştırma kriteri olarak 0 ile (ya da daha düşük bir sayı) başlamamız gerek.

Devamı
1 2 3
Facebook
Son Yorumlar