• 27-03-2013, 23:02:19
    #1
    Merhabalar, proje ödevim için C++'da bir metnin içinde geçen karakterleri bulan programı sınıf yapısıyla yapmam lazım, çok iyi değilim bu konuda ve sınıf yapısını hiç bilmiyorum. Yardımcı olabilecek birileri var mı?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:02:19 -->-> Daha önceki mesaj 22:27:50 --

    Ek olarak sınıf yapsını kullanmadan programı yazabildim bunu nasıl sınıf yapsına dönüştürebilirim.

    Alıntı
    #include<iostream>
    using namespace std;
    void main()
    {
    char s[1000];
    int i,j=0;
    cout<<"lutfen bir cumle giriniz."<<endl;
    cin.getline(s,1000);
    for (i=0; i<strlen(s); i++)
    {
    if ( s[i] =='a' || s[i] =='A')
    {
    cout<<i+1<<". karater a’dir."<<endl;
    j++;
    }

    }

    cout<<j<<" tane a vardir."<<endl;
    }
  • 28-03-2013, 02:35:37
    #2
    c++ ı hiç sevmem ama baktım kimse yazmamış yapayım dedim bi şeyler..

    kodunu sınıf içerisinde kullandım ama senin istedğin şey tüm karakterleri mi bulmak ? yazdığın kodda sadece A için bakıyor da.. diğer türlü işin biraz zor, çift boyutlu dizide ascii kodu tutularak yapılabilir.. neyse yaptığın örnek için aşağıdaki kod istediğin kod

    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h> 
    
    using namespace std;
     
    class Metin
    {
    
    
    public:
    void KarakterBul(char yazi[])
    { 
    int i,j=0;
    for (i=0; i<strlen(yazi); i++)
    {
    if ( yazi[i] =='a' || yazi[i] =='A')
    {
    cout<<i+1<<". karater a'dir."<<endl;
    j++;
    }
    }
    cout<<j<<" tane a vardir."<<endl;   
    }
    };
    
    
    
    int main(int argc, char *argv[])
    {
        
    Metin karakter;
    
    char s[1000];
    cout<<"lutfen bir cumle giriniz."<<endl;
    cin.getline(s,1000);
    
    karakter.KarakterBul(s);
    
      
      system("PAUSE");	
      return 0;
    }
    burada sınıflarla ilgili video var, izleyebilirsin faydalı olur

    http://www.muhammedmastar.com/c-ders...atimiornekleri
  • 28-03-2013, 16:13:12
    #3
    cevabın için çok teşekkür ederim hocam. dediğiniz gibi ben yanlış yapmışım istenilen o değilmiş.

    kullanıcıdan metin ve kelime isticem ayrı ayrı istenilen kelimenin o metinde kaç defa tekrarlandığını bulucakmışım.

    benim sadece a karakteri için verdiğim kodda nasıl bir değişiklik yapmam lazım.

    ayrıca video için teşekkür ediyorum.
  • 28-03-2013, 16:30:30
    #4
    buyur hocam bizim arkadaşın yazdığı kod ancak biraz profesyonel

    http://furkanugur.blogspot.com/2012/...-frekansn.html
  • 28-03-2013, 16:40:03
    #5
    teşekkürler bakıyorum şimdi anladığım kadarıyla bunu biraz sadeleştirmeye çalışiyim.
  • 28-03-2013, 19:02:44
    #6
    istediğimi yapan bir kod bulabildim sonunda bunu sınıf yapısına nasıl dönüştürebilirim bu arada verdiğiniz linkteki site bende açılmadı :/
    Alıntı
    #include<iostream>
    #include<string.h>
    int sozcuksay(char *,char *);
    int main()
    {
    char a[250],b[30];
    cout<<"cumle giriniz: "<<endl;
    cin.getline(a,250);
    cout<<"aranan kelime: "<<endl;
    cin.getline(b,30)
    strcat(a," ");
    printf("aradiginiz kelime cumle icinde %d kez geciyor",sozcuksay(a,b));
    getch();
    return 0;
    }
    int sozcuksay (char *aptr,char *arptr)
    {
    char *aranacak;
    int i,b,adet=0;
    for (i=0;aptr[i]!='\0';i++)
    aptr[i]=toupper(aptr[i]);
    for(i=0;arptr[i]!='\0';i++)
    arptr[i]=toupper(arptr[i]);
    arptr=strcat(arptr," ");
    aranacak=strstr(aptr,arptr);
    b=strlen(arptr);
    while(aranacak!=NULL){
    adet++;
    for(i=0;i<b;i++)
    aranacak++;
    aranacak=strstr(aranacak,arptr);
    }
    return adet;
    }
  • 28-03-2013, 19:39:16
    #7
    istediğiniz bu değil. metin içerisinde kelime arıyor sadece..
    + sitede bi problem yok çalışıyor
  • 28-03-2013, 21:33:41
    #8
    ctrl + F algoritması değil mi bu ben mi yanlış biliyorum?
  • 28-03-2013, 23:32:52
    #9
    evet ctrl f tarzı bir şey de senin istediğin mesela

    merhaba

    m = 1 tane
    e = 1 tane
    r = 1 tane
    h = 1 tane
    a= 2 tane
    b= 1 tane

    gibi bi şey değil mi? yoksa

    ali ata bak

    cümlesinde ali diye geçen kelime sayısını mı bulmak ?