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

c++ da boşluk sayacı


HaciYatmaz

Öne çıkan mesajlar

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ş

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ş

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ş

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ş

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ş

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ş

×
×
  • Yeni Oluştur...