Şimdi Ara

Dev C++ Bir cümlede aranan karekterden kaç adet oldugunu bulan kod yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
3.059
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar mantık dogru ama byte kontrol=0; kısmında hata veriyor sizce sorunu nasıl çözebilirim saygılar

    #include <stdio.h>
    #include <conio.h>

    main()

    {
    char cumle[50];
    char harf=0;
    printf("Cumleyi Giriniz\n");
    scanf("%s",cumle);
    printf("harf giriniz\n");
    scanf("%c",&harf);

    int i=0;
    int sayac=0;

    byte kontrol=0;



    for(i=0;i<50;i++)
    {
    if(cumle==harf)
    {
    kontrol=1;
    sayac++;
    }
    }
    if(kontrol==1)
    printf("var");
    else
    printf("yok");

    getch();

    }



    < Bu mesaj bu kişi tarafından değiştirildi bluerosealp -- 16 Mart 2012; 17:05:14 >



  • C de byte diye bir data type yok. byte yerine int yazarsan düzelir.
    scanf %c de & operatörüne gerek yok.

    Edit: gerek varmış



    < Bu mesaj bu kişi tarafından değiştirildi crshr -- 17 Mart 2012; 0:39:24 >
  • quote:

    Orijinalden alıntı: crshr

    C de byte diye bir data type yok. byte yerine int yazarsan düzelir.
    scanf %c de & operatörüne gerek yok.


    Yazdım ama hocam bu sefer programı çalıştırdıgımda cümle girdikten sonra harf giremeden harf yok diyor ?
  • quote:

    scanf("%s",cumle);

    scanf ile sadece kelime alabilirsin, boşluk, tab veya yeni satıra geçince scanf cumle arrayini doldurmayı bırakır. Ancak boşluktan sonra yazdıkların hafızada kaldığından tekrar harf için scanf yaptığında boşluktan sonraki ilk karakter harf değişkenine gider, senden harf girmeni beklemesine gerek duymaz. Bu yüzden getchar ile her harfi tek tek almak en güvenli yol, '\n' karakteri yeni satır demek, yani yeni satır gelene kadar okumaya devam edicek. Arrayin sonuna '\0' karakterini koyarak cumlenin sonunu işaretlemiş oluyoruz.

     
    #include <stdio.h>
    #include <conio.h>

    int main()
    {
    char cumle[100];
    char harf;
    char c;
    int i=0;
    printf("Cumleyi Giriniz\n");
    while ((c = getchar()) != '\n')
    cumle[i++] = c;
    cumle[i] = '\0';

    printf("\nharf giriniz\n");
    harf = getchar();

    int sayac=0;

    for (i=0; cumle[i] != '\0'; ++i)
    {
    if(cumle[i] == harf)
    ++sayac;
    }

    if(sayac)
    printf("\ncumlede %d tane '%c' var.\n", sayac, harf);
    else
    printf("yok\n");

    getch();
    return 0;
    }




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.