예제 #1
0
        public void testKirp()
        {
            HarfDizisi dizi = new HarfDizisi("merhaba", alfabe);

            dizi.kirp(5);
            Assert.AreEqual("merha", dizi.ToString());
            dizi.kirp(5);
            Assert.AreEqual("merha", dizi.ToString());
            dizi.kirp(0);
            Assert.IsTrue(dizi.Length == 0);
        }
예제 #2
0
        /**
         * Verilen kelime için sonHeceHarfSayisi indekslerini bir dizi içinde döndürür
         *
         * @param giris : Hece indeksleri belirlenecek
         * @return Hece indekslerini tutan bir int[]
         *         Örnek: "merhaba" kelimesi için 0,3,5
         *         "türklerin" kelimesi için 0,4,6
         */
        public int[] heceIndeksleriniBul(String giris)
        {
            giris = alfabe.ayikla(giris);
            HarfDizisi kelime = new HarfDizisi(giris, alfabe);

            int[] tmpHeceIndeksleri = new int[50];
            int   heceIndeks        = 0;

            while (kelime.Length > 0)
            {
                int index = heceBulucu.sonHeceHarfSayisi(kelime);
                if (index < 0)
                {
                    return(null);
                }
                int basla = kelime.Length - index;
                tmpHeceIndeksleri[heceIndeks++] = basla;
                if (heceIndeks > 50)
                {
                    return(null);
                }
                kelime.kirp(basla);
            }
            int[] heceIndeksleri = new int[heceIndeks];
            for (int i = 0; i < heceIndeks; i++)
            {
                heceIndeksleri[i] = tmpHeceIndeksleri[heceIndeks - i - 1];
            }
            return(heceIndeksleri);
        }
예제 #3
0
        /**
         * girisin hecelenebir olup olmadigini bulur.
         *
         * @param giris
         * @return hecelenebilirse true, aksi halde false.
         */
        public bool hecelenebilirmi(String giris)
        {
            HarfDizisi kelime = new HarfDizisi(giris, alfabe);

            while (kelime.Length > 0)
            {
                int index = heceBulucu.sonHeceHarfSayisi(kelime);
                if (index < 0)
                {
                    return(false);
                }
                int basla = kelime.Length - index;
                kelime.kirp(basla);
            }
            return(true);
        }
예제 #4
0
        /**
         * Gelen String'i turkce heceleme kurallarina gore hecelerine ayirir. Sonucta
         * heceleri bir liste icinde dondurur. Eger heceleme yapilamazsa bos liste doner.
         *
         * @param giris
         * @return sonHeceHarfSayisi String dizisi
         */
        public String[] hecele(String giris)
        {
            giris = alfabe.ayikla(giris);
            HarfDizisi kelime = new HarfDizisi(giris, alfabe);
            ArrayList  list   = new ArrayList(); //reverse kullanmak icin generics kullanmadim...

            while (kelime.Length > 0)
            {
                int index = heceBulucu.sonHeceHarfSayisi(kelime);
                if (index < 0)
                {
                    list.Clear();
                    return(new String[0]);
                }
                int basla = kelime.Length - index;
                list.Add(kelime.ToString(basla));
                kelime.kirp(basla);
            }
            list.Reverse();
            String[] retArr = new String[list.Count];
            list.CopyTo(retArr, 0);
            return(retArr);
        }
예제 #5
0
 public void testKirp()
 {
     HarfDizisi dizi = new HarfDizisi("merhaba", alfabe);
     dizi.kirp(5);
     Assert.AreEqual("merha", dizi.ToString());
     dizi.kirp(5);
     Assert.AreEqual("merha", dizi.ToString());
     dizi.kirp(0);
     Assert.IsTrue(dizi.Length == 0);
 }