HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 alttaki kodda kullanıcı tarafından girilen cümlenin boşluklarda dahil kaç harf olduğunu hesaplatmam lazım ama yapamadım bi türlü.neresinde hata var onuda bulamıyorum do ve while mutlaka kullanmam lazım int main() { char dizi[100]; int karakterhanesi=0; int cumle=0; int i; printf("Lutfen Bir Cumle Giriniz: "); scanf("%d" , &cumle); do { for (i = 0; i <= 100 ; i ++) if (dizi[i] !=100) { karakterhanesi = cumle++; } { karakterhanesi = cumle++; } } while (karakterhanesi <= 100); printf("Girdiginiz Cumle %d Kelimeden Olusmaktadir",karakterhanesi); getch(); return 0; }
Brigand Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 şindik ilk olarak bu kod c++ deil c ikinci olarak string'i yani bir cümleyi scanf("%d" , &cumle); ile değil direk gets(cumle) ile alırsın
Brigand Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 kelime mi bulduracan karakter sayısını mı anlayamadığımdan, bitane yazıverdim sana ben ikisini de buluyor main() { char dizi[100]; int i=0, words=1; printf("Lutfen Bir Cumle Giriniz: "); gets(dizi); for ( ; dizi[i] != ''; i++ ) if ( dizi[i] == ' ' ) words++; printf("Girdiginiz Cumle %d harf ve %d Kelimeden Olusmaktadirn",i, words); system("pause"); }
kgns Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 abi kırk yıldır kod yazarım, şu koddan bi s*k anlamadım. sen emin misin bunları neden yazdığını bildiğine? önce bi c tutorial ı al en bastan basla, ne neye yarıyomuş falan :/
dory Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 katiliyorum ben de bisi anlamadim ve parantez hatalari goruyorum sanirsam. do kismini naptigini aciklarayak yazar misin?
Brigand Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 40 yıldır yazmıyondur yalan söyleme :P if (dizi[i] !=100) kısmını sonradan commentlemiş galiba arkadaş, ama arada kalmış yine commentleri gözükmeden =)
kgns Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 Brigand said: 40 yıldır yazmıyondur yalan söyleme :P if (dizi[i] !=100) kısmını sonradan commentlemiş galiba arkadaş, ama arada kalmış yine commentleri gözükmeden =)olur mu ya 41 yaşımdayım işte, 40 sene oldu bu işlere başlayalı.. ;)
kgns Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 Brigand said: bug olduydu düzeldi pardon =)fail -_-
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Mesaj tarihi: Aralık 9, 2009 o yazdığım kod %100 yanlıştır. do while illa olcak ilk şart bu. do while dçngüsü olmayan şekli var elimde ama oda tam olarak çalışmıyor birde bu gets i göstermedi yani. bu verilen ödev, şimdi buna gets i eklesem direk çiziyo adi hoca. geçende tc kimlik kontrol programında sınıfta göstermediği bi döngüyü kullandım diye sıfır vermiş.bunda da aynı riski alamam.
Brigand Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 gets kullanmadan ekrandan string alamazsın. scanf ( "%s" , string ); şeklinde alabilrsin ama o zaman boşlukları alamazsın. gets kullanmaya bildiğim kadarı ile mahkumsun =)
tunca Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 int main() { char dizi[100]; int k=0; printf("Lutfen Bir Cumle Giriniz: "); while( dizi[k] != 'n')/*burda n çalışıyo muydu başka bişi mi yazmak gerekiyodu tam emin deilim*/ scanf("%c" , &dizi[k++]); printf("Girdiginiz Cumle %d Kelimeden Olusmaktadir", k); return 0;
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Mesaj tarihi: Aralık 9, 2009 verilen 2 kodda yanıt vermiyor cümle yazıldıkdan sonra bekliyo.
Brigand Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 for'u do while'a çevir işte benim verdiğim kod çalışıyor ;)
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Mesaj tarihi: Aralık 9, 2009 gözler gg oldu şu konuyu açtığımdan beri lanet kodla uğraşıyorum halen olmadı.programa derletinde hata çıkmıyor.ama run yapıpda veriyi girdiğimde görevi sonlandır penceresini çıkartıyor. #include #include main() { int bosluk=0; char karakter[50]; int a=0; printf ("bir cumle giriniz"); scanf ("%s", a); //kullanıcıdan cümleyi al do { if (karakter[bosluk] == ' ') //cumle icinde bosluk varsa topla ++bosluk; if (karakter[a] == 'n') //bosluk yoksada topla ++a; } while(a <=50); printf("sukadar bidibidi %d dir" , a ); printf("sukadarda hebelehobele %d dir " , bosluk); getch(); return 0; }
Kojiroh Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 scanf ("%s", a); //kullanıcıdan cümleyi al scanf ("%s", karakter); //kullanıcıdan cümleyi al
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Mesaj tarihi: Aralık 9, 2009 denedim çözmüyo sorunu.
Kojiroh Mesaj tarihi: Aralık 9, 2009 Mesaj tarihi: Aralık 9, 2009 for(; a<50; a++) if(karakter[a] == ' ') bosluk++; do..while'ı kaldırıp bunu yaz.
HaciYatmaz Mesaj tarihi: Aralık 10, 2009 Konuyu açan Mesaj tarihi: Aralık 10, 2009 buda olmadı :( bana sorun scanf ilebilgileri aldıkdan sonra gibi geliyo.veriyi girdip enter layınca işlemi sonlandır diyo.
Kojiroh Mesaj tarihi: Aralık 10, 2009 Mesaj tarihi: Aralık 10, 2009 scanf satırını scanf("%s", karakter); şeklinde düzelttiysen sorun çıkarmaması lazım. Edit: Ha bu arada, scanf ve ( arasında bi boşluk bırakmışsın.
HaciYatmaz Mesaj tarihi: Aralık 10, 2009 Konuyu açan Mesaj tarihi: Aralık 10, 2009 düzeltti evet ama yemedi.
Kojiroh Mesaj tarihi: Aralık 10, 2009 Mesaj tarihi: Aralık 10, 2009 Hmm şimdi düşündüm de, sorun şu ki %s ifadesi kullanıldı mı scanf tüm whitespace karakterlerde durur (boşluk, n, tab). O yüzden scanf satırı yerine gets(karakter); kullanmak lazım. Bi de do..while zorunluymuş o yüzden sıfırdan yazdım: int main() { int i = 0, bosluk = 0; char buf[50]; printf("Bir cumle giriniz: "); gets(buf); do { if(buf[ i] == ' ') bosluk++; i++; } while(i < 50); printf("Toplam bosluk sayisi: %dn", bosluk); getch(); return 0; } Edit: Bi yerde yanlışlık vardı düzelttim. Edit3: Fail lol. buf[ i] kısmında boşluksuz yazmıştım onu italik olarak almış falan. [ i] koy buf'ın yanına :P
HaciYatmaz Mesaj tarihi: Aralık 10, 2009 Konuyu açan Mesaj tarihi: Aralık 10, 2009 if satırında "forbids comparison between pointer and integer diyo bu seferde. edit: offf diğer verilen kodlarda bu bbcode kapatmadıklarından ben eksik görüyodum. bu hatayı yoksa ta Brigand'ın verdiği koddan da alıyodum.aynı faili orda da yaşadım yani :D çok teşekkür ederim uğraştırdım baya (:P) edit2: ne yazarsam yazayım 2 buluyor
Öne çıkan mesajlar