Ödev 5

Teslim Tarihi: 7 Mayýs 2008

 

Ödev: Aðaç üzerinde filtre ve accumulate fonksiyonlarýný yazýnýz.

 

Ödevin açýklamasý: Ödev için iki farklý fonksiyon (filter ve accumulate) yazacaksýnýz.


Filter

Bir adet aðaç göstericisi ve bir de boolean döndüren fonksiyon alan fonksiyon yazacaksýnýz. Boolean C dilinde olmadýðý için integer deðerini kullanabilirsiniz. Fonksiyonunuz aðacý alacak ve bütün düðümlere aldýðý boolean fonksiyonu uygulayacak. Sonucu true olan düðümleri sonuca taþýyacak false olanlarý ise filitreleyecektir.

Yukarýdaki örnek için verilen teksayý fonksiyonu aþaðýdaki þekile olabilir:
	int teksayi(int a){
		if(a%2==0)
			return 0;
		else
			return 1;
	}


Accumulate

Bir adet aðaç ve birde iki parametreli fonksiyon alan bir fonksiyon yazacaksýnýz. Buna göre aðaçta bulunan bütün elemanlar bu fonksiyon ile accumulate edilerek (toplanarak) sonuçta tek bir sayý döndürülecektir.


Yukarýdaki örnek için topla fonksiyonu aþaðýdaki þekilde olabilir:
	int topla(int a, int b){
		return a + b;
	}

Herkese baþarýlar.
Sorularýnýz için her zaman datastr [at] sadievrenseker.com adresine ileti atabilirsiniz.