HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Paylaş 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; } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Aralık 9, 2009 Paylaş 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 Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Aralık 9, 2009 Paylaş 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"); } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
kgns Mesaj tarihi: Aralık 9, 2009 Paylaş 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 :/ Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
dory Mesaj tarihi: Aralık 9, 2009 Paylaş Mesaj tarihi: Aralık 9, 2009 katiliyorum ben de bisi anlamadim ve parantez hatalari goruyorum sanirsam. do kismini naptigini aciklarayak yazar misin? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Aralık 9, 2009 Paylaş 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 =) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Aralık 9, 2009 Paylaş Mesaj tarihi: Aralık 9, 2009 bug olduydu düzeldi pardon =) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
kgns Mesaj tarihi: Aralık 9, 2009 Paylaş 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ı.. ;) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
kgns Mesaj tarihi: Aralık 9, 2009 Paylaş Mesaj tarihi: Aralık 9, 2009 Brigand said: bug olduydu düzeldi pardon =)fail -_- Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Paylaş 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. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Aralık 9, 2009 Paylaş 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 =) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
tunca Mesaj tarihi: Aralık 9, 2009 Paylaş 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; Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 9, 2009 verilen 2 kodda yanıt vermiyor cümle yazıldıkdan sonra bekliyo. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Brigand Mesaj tarihi: Aralık 9, 2009 Paylaş Mesaj tarihi: Aralık 9, 2009 for'u do while'a çevir işte benim verdiğim kod çalışıyor ;) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Paylaş 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; } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 9, 2009 Paylaş Mesaj tarihi: Aralık 9, 2009 scanf ("%s", a); //kullanıcıdan cümleyi al scanf ("%s", karakter); //kullanıcıdan cümleyi al Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 9, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 9, 2009 denedim çözmüyo sorunu. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 9, 2009 Paylaş Mesaj tarihi: Aralık 9, 2009 for(; a<50; a++) if(karakter[a] == ' ') bosluk++; do..while'ı kaldırıp bunu yaz. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 10, 2009 Konuyu açan Paylaş 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. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 10, 2009 Paylaş 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. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 10, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 10, 2009 düzeltti evet ama yemedi. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 10, 2009 Paylaş 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 Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
HaciYatmaz Mesaj tarihi: Aralık 10, 2009 Konuyu açan Paylaş 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 Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar