IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 02 Mart 2012, 23:37   #1
Çevrimdışı
aSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Metin Uzunluğu Bulmak





Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Pointer kullanılarak hazırlanmış bu programda, metnin uzunluğunu bulmaca oynuyoruz!. Oyun şöyle oynanmakta: ben kodların arasına metni yazdım, bilgisayar ise uzunluğu buluyor. Programcılıkta birden fazla çözüm vardır. Bu problemin de bir çok çözümü var.Ancak, “önümüzdeki günlerde bela olmadan önce halletmeliyiz” diye düşünerek program buram buram pointers kokuyor. Kodlar içerisinde her zamanki gibi açık açık anlatmaya çalıştım, soru cevap bolumu de hazırladım. Yazdım da yazdım anlayacağınız. Soru cevap bölümünü sonraki yazılarda da kullanırsam eğer, şizofren olduğumu anlayınız, gerekeni yapınız…

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include<stdio.h> #include<conio.h> int metuz(char *); main(){ char kar[50]; gets(kar); printf("Metinin uzunlugu: %d'dir", metuz(kar)); getch(); } int metuz(char *p){ //fonksiyona dizinin ilk karakterinin adresi geliyor. mesela FC100 char *q=p; //biz bu FC100'u q da sakliyoruz. tabi FC100 adres oldugundan // normal bir degiskende saklamamiz sacmaliktir. *'li degiskende saklamaliyiz. while(*q!=NULL) //q'nun tuttugu adresteki deger bos oldukca, q++; // q'yu bir arttir.(bu iki satir bunu soyluyor) return q-p; //p'de FC100 saklaniyodu. q arta arta FC120 oldu diyelim // q-p=20'den o zaman 20 karakterliymis diyo gonderiyo hemen } /* Soru 1: FC120-FC100=20 yani char-char=integer nasil oluyor ? Cevap 1: Simdi bak arkadasim. teknik olarak haklisin. floattan float cikinca char kalmaz, float kalir, evet. Ama derleyici bunu dusunmus. mesela FC520-FA210 diye sorunca "himm B310 olmali. hadi bunu gondereyim de, ordaki olasi bi sistem dosyasini veya bilmem ne bilgisinin icine edeyim" dememesi icin bunu hemen integer degere ceviriyor. Soru 2: Fonksiyona diziyi gonderdik. bkz: metuz(kar) ifadesi. Fonksiyon diziyi alirken pointer olarak aldik. bkz:char *p ifadesi. sence de arada bir tutarsizlik yok mu? Cevap 2: Hayir arkadasim. tutarsizlik ne arar c'de. metuz(kar) deyince aslinda diziyi gondermiyoruz.evet oyle gozukuyor ama degil. "kar" dedigimiz yer de koca bir dizi degil, dizinin ilk elemaninin adresi bulunur. fonksiyona onu gondeririz. Soru 3: Nasil yani? Cevap 3: simdi arkadaisim, bak. orneklerle aciklayayim. kar ve &kar[0] ayni sey. birini yazma digerini yaz. derleyici zeki bir varlik.anlar o. bazen net konusmak lazim. edebiyat falan, sayisal beyinlerimiz anlamayabilir. Soru 4: Babam boyle pasta yapmayi nerden ogrendi? Cevap 4: lan yuru git arkadasim.. Soru 5: iyi be. Cevap 5: kizdi ya.. neyse benim aklima baska soru gelmedi. bir kodun daha sonuna geldik. bir sonraki kodda gorusuruz. */


__________________
Doğruları biliyorsan, yalanları dinlemek eğlencelidir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
bulmak, metin, uzunluğu


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Geçerli Sayfayı Bulmak Cemalizim Visual Basic 0 21 Temmuz 2008 18:26
JAVA [ IP ve Min/Max bulmak ] Silencer Java 0 26 Nisan 2008 16:03
IPden yer bulmak ExpresSs mIRC Scripting Sorunları 22 24 Nisan 2006 17:56