Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Öne çıkan mesajlar

Mesaj tarihi:
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;
}
Mesaj tarihi:
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");
}
Mesaj tarihi:
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 :/
Mesaj tarihi:
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ı..

;)
Mesaj tarihi:
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.
Mesaj tarihi:
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 =)
Mesaj tarihi:

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;
Mesaj tarihi:
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;
}
Mesaj tarihi:
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
Mesaj tarihi:
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
×
×
  • Yeni Oluştur...