10 Nisan 2009

Dizinin İlk ve Son Eleman Denetlemesi

Birkaç arkadaşım yardım istedi. Bir dersin ödevinde verilen bir dizinin ilk ve son elemanlarını bulmaları (denetlemeleri) gerekiyormuş. İçimden, "Bu mu sorun? Olay bu mu yani? " dedim, demedim değil. Lakin ne yapalım, ettik yardımı. Sizin için çok kolay bilmekteyim. Ne olur ne olmaz, ben yine burdan paylaşayım da işine yarayan kullansın :)"E kardeş, dizi dedin string çıktı" diyenlere de belirteyim ki isterseniz karakter dizisi olsun (character array), isterseniz string olsun her konuda mantık aynı.



bool isLast(string input, char ch)

{

     int length = findLast(input);



     if(input[length] == ch)

                      return true;

     else

         return false;

}



bool isFirst(string input, char ch)

{

     if(input[0] == ch)

                 return true;

     else

         return false;

}







findLast() nedir diyorsanız, verilen string' in uzunluğunu döndüren bir fonksiyon diyeyim.

str.length() den bir farkı yok yani kısaca. Maksat %100 sizin yapımınız olsun. Şunu da belirtmeden bitirmeyeyim. İyi programcı kodlamaz, yeniden kullanır. Atasözü gibi birşey sanırım bu bizim çevrede. Yani, oturup findLast() yazmaktansa, length() fonksiyonunu kullanmak çok daha akıllıca.



Küçük tasarımlarda bunun pek bir öneminin olmadığını düşünmekteyim, ama büyük tasarımlarda size saatler, günler, bardaklarca çay- kahve ve sigara olarak geri döneceğine emin olun. ;)



Bu arada, bu işi fonsksiyonsuz yapamaz mıyız derseniz, yapabilir tabii ki de. Ancak, elinizde bir sürü denetlenecek string varsa fonksiyon kullanmanız çok daha akıllıca olur. Kodunuzu daha da okunaklı kılması da cabası..

0 yorum:

Yorum Gönder