Beispiel #1
0
        public string AnlamBul(string kelime)
        {
            KelimeAgaci[] Kok = new KelimeAgaci[26];
            Kok = Dugum;
            string temp = null;

            for (int i = 0; i < kelime.Length; i++)
            {
                if (Dugum[kelime[i] - 'a'] == null)
                {
                    Dugum = Kok;
                    return("[kelime bulunamadi]");
                }
                else if (i == kelime.Length - 1 && Dugum[kelime[i] - 'a'].Anlam == "")
                {
                    Dugum = Kok;
                    return("[bu kelime daha once silinmis]");
                }
                else if (i == kelime.Length - 1)
                {
                    temp  = Dugum[kelime[i] - 'a'].Anlam;                  /* anlami ara degiskende tut */
                    Dugum = Kok;                                           /* dugumu kok deger yap */
                    break;
                }
                Dugum = Dugum[kelime[i] - 'a'].Dugum;                  /* dugum uzerinde dolas, bir sonraki dugume git */
            }
            return(temp);
        }
Beispiel #2
0
 public void KelimeEkle(string kelime, string anlam)
 {
     KelimeAgaci[] Kok = new KelimeAgaci[26];
     Kok = Dugum;
     for(int i = 0; i < kelime.Length; i++){
         if (Dugum[kelime[i]-'a'] == null){
             if(i < kelime.Length){
                 KelimeAgaci YeniDugum = new KelimeAgaci(); /* yeni dugum olustur */
                 Dugum[kelime[i]-'a'] = YeniDugum;          /* ilgili karaktere karsilik yeni bir nesne referansi olustur */
                 if(i == kelime.Length - 1){                /* son karakter ise */
                     if(Dugum[kelime[i]-'a'].Anlam == ""){  /* ilk eklenen anlam ise */
                         Dugum[kelime[i]-'a'].Anlam += anlam; /* son karakterin nesne referansina anlami ekle */
                     }
                     else{
                         Dugum[kelime[i]-'a'].Anlam += ";" + anlam;/* son karakterin nesne referansina diger anlami ekle */
                     }
                 }
                 Dugum = Dugum[kelime[i]-'a'].Dugum;       /* yeni nesneyi kok dugum yap */
             }
         }
         else{
             if(i == kelime.Length - 1){                	 /* son karakter ise */
                 if(Dugum[kelime[i]-'a'].Anlam == ""){  	 /* ilk eklenen anlam ise */
                     Dugum[kelime[i]-'a'].Anlam += anlam; /* son karakterin nesne referansina anlami ekle */
                 }
                 else{
                     Dugum[kelime[i]-'a'].Anlam += ";" + anlam;/* son karakterin nesne referansina diger anlami ekle */
                 }
             }
             Dugum = Dugum[kelime[i]-'a'].Dugum;        	 /* onceden eklenmis karakter var ise bir sonraki dugume git */
         }
     }
     Dugum = Kok;
 }
Beispiel #3
0
 public void KelimeEkle(string kelime, string anlam)
 {
     KelimeAgaci[] Kok = new KelimeAgaci[26];
     Kok = Dugum;
     for (int i = 0; i < kelime.Length; i++)
     {
         if (Dugum[kelime[i] - 'a'] == null)
         {
             if (i < kelime.Length)
             {
                 KelimeAgaci YeniDugum = new KelimeAgaci();                         /* yeni dugum olustur */
                 Dugum[kelime[i] - 'a'] = YeniDugum;                                /* ilgili karaktere karsilik yeni bir nesne referansi olustur */
                 if (i == kelime.Length - 1)                                        /* son karakter ise */
                 {
                     if (Dugum[kelime[i] - 'a'].Anlam == "")                        /* ilk eklenen anlam ise */
                     {
                         Dugum[kelime[i] - 'a'].Anlam += anlam;                     /* son karakterin nesne referansina anlami ekle */
                     }
                     else
                     {
                         Dugum[kelime[i] - 'a'].Anlam += ";" + anlam;                              /* son karakterin nesne referansina diger anlami ekle */
                     }
                 }
                 Dugum = Dugum[kelime[i] - 'a'].Dugum;                             /* yeni nesneyi kok dugum yap */
             }
         }
         else
         {
             if (i == kelime.Length - 1)                                          /* son karakter ise */
             {
                 if (Dugum[kelime[i] - 'a'].Anlam == "")                          /* ilk eklenen anlam ise */
                 {
                     Dugum[kelime[i] - 'a'].Anlam += anlam;                       /* son karakterin nesne referansina anlami ekle */
                 }
                 else
                 {
                     Dugum[kelime[i] - 'a'].Anlam += ";" + anlam;                          /* son karakterin nesne referansina diger anlami ekle */
                 }
             }
             Dugum = Dugum[kelime[i] - 'a'].Dugum;                                /* onceden eklenmis karakter var ise bir sonraki dugume git */
         }
     }
     Dugum = Kok;
 }
Beispiel #4
0
 public void KelimeSil(string kelime)
 {
     KelimeAgaci[] Kok = new KelimeAgaci[26];
     Kok = Dugum;
     for(int i = 0; i < kelime.Length; i++){
         if(Dugum[kelime[i]-'a'] == null){
             Console.WriteLine("[boyle bir kelime yok]");
             break;
         }
         else if(i == kelime.Length - 1 && Dugum[kelime[i]-'a'].Anlam == ""){
             Console.WriteLine("[bu kelime daha once silinmis]");
             break;
         }
         else if(i == kelime.Length - 1)
             Dugum[kelime[i]-'a'].Anlam = "";
         Dugum = Dugum[kelime[i] - 'a'].Dugum;
     }
     Dugum = Kok;
 }
Beispiel #5
0
        public static void Main(string[] args)
        {
            KelimeAgaci sozluk = new KelimeAgaci();

            sozluk.KelimeEkle("legal", "yasal");
            sozluk.KelimeEkle("leg", "bacak");
            sozluk.KelimeEkle("a", "bir");
            sozluk.KelimeEkle("legend", "efsane");
            sozluk.KelimeEkle("leg", "dik kenar");

            Console.WriteLine("leg    : {0}", sozluk.AnlamBul("leg"));
            Console.WriteLine("bell   : {0}", sozluk.AnlamBul("bell"));
            Console.WriteLine("a      : {0}", sozluk.AnlamBul("a"));
            Console.WriteLine("legend : {0}", sozluk.AnlamBul("legend"));
            Console.WriteLine("legal  : {0}", sozluk.AnlamBul("legal"));

            sozluk.KelimeSil("legal");

            Console.WriteLine("legal : {0}", sozluk.AnlamBul("legal"));
            Console.ReadLine();
        }
Beispiel #6
0
 public string AnlamBul(string kelime)
 {
     KelimeAgaci[] Kok = new KelimeAgaci[26];
     Kok = Dugum;
     string temp = null;
     for(int i = 0; i < kelime.Length; i++){
         if(Dugum[kelime[i]-'a'] == null){
             Dugum = Kok;
             return "[kelime bulunamadi]";
         }
         else if(i == kelime.Length - 1 && Dugum[kelime[i]-'a'].Anlam == ""){
             Dugum = Kok;
             return "[bu kelime daha once silinmis]";
         }
         else if(i == kelime.Length - 1){
             temp = Dugum[kelime[i]-'a'].Anlam; /* anlami ara degiskende tut */
             Dugum = Kok;                       /* dugumu kok deger yap */
             break;
         }
         Dugum = Dugum[kelime[i] - 'a'].Dugum;  /* dugum uzerinde dolas, bir sonraki dugume git */
     }
     return temp;
 }
Beispiel #7
0
 public void KelimeSil(string kelime)
 {
     KelimeAgaci[] Kok = new KelimeAgaci[26];
     Kok = Dugum;
     for (int i = 0; i < kelime.Length; i++)
     {
         if (Dugum[kelime[i] - 'a'] == null)
         {
             Console.WriteLine("[boyle bir kelime yok]");
             break;
         }
         else if (i == kelime.Length - 1 && Dugum[kelime[i] - 'a'].Anlam == "")
         {
             Console.WriteLine("[bu kelime daha once silinmis]");
             break;
         }
         else if (i == kelime.Length - 1)
         {
             Dugum[kelime[i] - 'a'].Anlam = "";
         }
         Dugum = Dugum[kelime[i] - 'a'].Dugum;
     }
     Dugum = Kok;
 }
Beispiel #8
0
        public static void Main(string[] args)
        {
            KelimeAgaci sozluk = new KelimeAgaci();

            sozluk.KelimeEkle("legal", "yasal");
            sozluk.KelimeEkle("leg", "bacak");
            sozluk.KelimeEkle("a", "bir");
            sozluk.KelimeEkle("legend", "efsane");
            sozluk.KelimeEkle("leg", "dik kenar");

            Console.WriteLine("leg    : {0}", sozluk.AnlamBul("leg"));
            Console.WriteLine("bell   : {0}", sozluk.AnlamBul("bell"));
            Console.WriteLine("a      : {0}", sozluk.AnlamBul("a"));
            Console.WriteLine("legend : {0}", sozluk.AnlamBul("legend"));
            Console.WriteLine("legal  : {0}", sozluk.AnlamBul("legal"));

            sozluk.KelimeSil("legal");

            Console.WriteLine("legal : {0}", sozluk.AnlamBul("legal"));
            Console.ReadLine();
        }