Task3

Gönderildiği yer: Genel | 0

Merhaba Arkadaşlar.

Bu yazımda sizlere 6.11.2013 tarihinde yaptığımız lab dersinin Task3’ünü açıklamaya çalışacağım.

Sorusu:Verilen bir arrayın en küçük elemanını bulan bir fonksiyon yazın.

Çözümü:

Task3

 

Fonksiyonumuz için 3 şey gerekiyor. Bunlar fonksiyonun adı, nasıl bir değeri olacağı(int,float,void,etc) son olarak da hangi değişkeni ya da hangi değişkenleri alacağı. Bizim bu sorumuzda bize verilen arrayin en küçük elemanını bulacağımızdan bize verilecek olan sadece array ve arrayın kaç elemanlı olduğu olacak. float tipinde değer alacak. Çünkü arrayda float bir değer verilebilir. İsmi ise size kalmış istediğinizi yazın.

İlk olarak arrayin ilk elemanını en küçük olarak kabul ediyoruz. Daha sonra bu elemanı diğer elemanlarla tek tek karşılaştıracağız en son en küçük elemanı bulacağız. Arrayın tüm elemanlarını karşılaştıracağımız için for döngüsünü kullandık. isteyenler while döngüsünü de kullanabilir. O zaman fonksiyon şöyle olur:

float MinimalinArray(float a[],int N){
	float min=a[0];
	int i=1;
	while(i<N){ 		
            if(min>a[i]) min=a[i];
	   ++i;
	}
return min;
}

Ben for ile anlatmaya devam edeceğim. arrayin ilk elemanını minimum olarak kabul ettiğimiz için i’yi 1 den başlattık N’ye kadar gidecek giderken i’yi her seferinde 1 artıracak. Yani tüm elemanları tarayacak. Bu taramayı yaparken aynı zamanda karşılaştırmayı da yapacak(İf kısmının). Karşılaştırma şöyle olacak: minimum olarak ilk elemanı kabul etmiştik. Bu elemanı sonraki elemanla karşılaştıracak. karşılaştırdığı sayı daha küçükse minimumu bu sayıya eşitleyecek. Karşılaştırdğı sayı daha büyükse minimum minimum olmaya devam edecek.Ek olarak bir şey yapmasına gerek kalmayacak. For döngsüyle işimiz bitti.Sonra bir tane değer döndürmemiz gerekiyor. Çünkü fonksiyonun başına float yazdık. Eğer “void” yazsaydık herhangi bir değer döndürmeyecektik. Bu fonksiyondan elde edeceğimiz değer min değeri olduğundan return min dedik.

Fonksiyonumuz bitti. Şimdi gelelim fonksiyonu test etmeye; Bize 10 elemanlı bir A arrayı verilmiş. Verilen arrayı proğramın anlayacağı bir şekilde yazıyoruz. Bize minimumu verecek bir değişkene ihtiyacımız var. Ben karışmasın diye “min” demişim buradaki isim size kalmış.

mina=MinimalinArray(A,10);

Bu kod ile yazdığımız fonksiyonu çağırdık. Sonrada hesaplanan değeri yazdıralım(cout<<  ile).  Arraya baktığımızda en küçük sayı -65 bakalım bize hangi sonucu verecek?

Çıktı1:

Çıktı1

Gördüğünüz gibi -65 çıktı. Bu arada siteye reklam aldım. Reklamlara tıklarsanız sevinirim. Reklamlar tıklama ile para kazandırıyor. Bir sonraki yazıda görüşmek üzere kendinize iyi bakın.

Bir Cevap Yazın