İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Kelime Heceleme İşlemi

C# Kelime Heceleme İşlemi
+ - 0

C# Kelime Heceleme İşlemi, dersim ile c sharp eğitimlerimize devam ediyorum. Sizlere de lazım olabilir diye düşünüp yayınlamak istedim. Bu dersimde kelimeleri hecelere ayırma işlemini göstereceğim.

C# Kelime Heceleme İşlemi

Öncelikle formumuza iki textbox ve bir buton ekleyelim.  Butona tıkladığımızda textbox1 de yazan cümleyi, textbox2 ye yazacağız. Bu işlem için ek bir namespace kullanmayacağız ve if else, substring ve ındexof metodlarını kullanacağız. Şimdi formumuzu hazırladıktan sonra aşağıdaki kodlarımızı kod kısmına yapıştırıyoruz.

        string CumleHeceleme(string Metin)
        {
            const string Sesli_Harfler = "aeıioöuüAEIİOÖUÜ";
            const string Sessiz_Harfler = "bçdfgğhjklmnprsştvyzBÇDFGĞHJKLMNPRSŞTVYZ";
            const string OzelKarakterler = "., ;\'!?\"";
            Metin = (Metin + " ");
            string Hece = "";
            int Index = 1;
            string AlinanHece = "";
            IslemeBasla:

            for (int i = Index; (i <= Metin.Length); i++)
            {
                //Önce karakterleri kontrol et. Eğer boşluk varsa döngüyü tekrar çalıştır
                if (((OzelKarakterler.IndexOf(Metin.Substring((i - 1), 1), 0) + 1) > 0))
                {
                    // boşluk ise direkt başa dön 
                    AlinanHece = Metin.Substring((Index - 1), 1);
                    Hece = (Hece + AlinanHece);
                    Index++;
                    goto IslemeBasla;
                }

                if (((Sessiz_Harfler.IndexOf(Metin.Substring((i - 1), 1), 0) + 1) > 0))
                {
                    // ilk harf sessiz 
                    if (((Sesli_Harfler.IndexOf(Metin.Substring(i, 1), 0) + 1) > 0))
                    {
                        // ikinci harf sesli 
                        if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0))
                        {
                            // Üçüncü harf sessiz 
                            if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0))
                            {
                                // dördüncü  harf sesli ise ilk iki harf hecedir. 
                                AlinanHece = (Metin.Substring((Index - 1), 2) + "-");
                                Hece = (Hece + AlinanHece);
                                Index += 2;
                                goto IslemeBasla;
                            }

                            if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0))
                            {
                                // dördüncü harf te sessiz 
                                if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 3), 1), 0) + 1) > 0))
                                {
                                    // 5.harf sesli ise ilk 3 harf hecedir. 
                                    AlinanHece = (Metin.Substring((Index - 1), 3) + "-");
                                    Hece = (Hece + AlinanHece);
                                    Index += 3;
                                    goto IslemeBasla;
                                }
                                if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 3), 1), 0) + 1) > 0))
                                {
                                    // 5.harf sessiz ise ilk 4 harf hecedir. 
                                    AlinanHece = (Metin.Substring((Index - 1), 4) + "-");
                                    Hece = (Hece + AlinanHece);
                                    Index += 4;
                                    goto IslemeBasla;
                                }
                            }
                        }
                        if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0))
                        {
                            // Üçüncü harf sesli ise ilk iki harf hecedir. 
                            AlinanHece = (Metin.Substring((Index - 1), 2) + "-");
                            Hece = (Hece + AlinanHece);
                            Index += 2;
                            goto IslemeBasla;
                        }
                    }
                    if (((Sessiz_Harfler.IndexOf(Metin.Substring(i, 1), 0) + 1) > 0))
                    {
                        // ikinci de sessiz ise ilk 4 harf hecedir. 
                        AlinanHece = (Metin.Substring((Index - 1), 4) + "-");
                        Hece = (Hece + AlinanHece);
                        Index += 4;
                        goto IslemeBasla;
                    }
                }



                if (((Sesli_Harfler.IndexOf(Metin.Substring((i - 1), 1), 0) + 1) > 0))
                {
                    // ilk harf sesli 
                    if (((Sessiz_Harfler.IndexOf(Metin.Substring(i, 1), 0) + 1) > 0))
                    {
                        // ikinci harf sessiz 
                        if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0))
                        {
                            // Üçüncü harf sessiz. 
                            if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0))
                            {
                                // Dördüncü harf sesli ise ilk iki harf hecedir. 
                                AlinanHece = (Metin.Substring((Index - 1), 2) + "-");
                                Hece = (Hece + AlinanHece);
                                Index += 2;
                                goto IslemeBasla;
                            }
                            if (((Sessiz_Harfler.IndexOf(Metin.Substring((i + 2), 1), 0) + 1) > 0))
                            {
                                // dördüncü harf te sessiz ise ilk üç harf hecedir. 
                                AlinanHece = (Metin.Substring((Index - 1), 3) + "-");
                                Hece = (Hece + AlinanHece);
                                Index += 3;
                                goto IslemeBasla;
                            }
                        }
                        if (((Sesli_Harfler.IndexOf(Metin.Substring((i + 1), 1), 0) + 1) > 0))
                        {
                            // Üçüncü harf sesli.Bu durumda ilk harf hece demektir. 
                            AlinanHece = (Metin.Substring((Index - 1), 1) + "-");
                            Hece = (Hece + AlinanHece);
                            Index++;
                            goto IslemeBasla;
                        }
                    }
                }
            }
            return Hece;
        }

Buradaki kodlar ile metoda gönderilen metini heceledikten sonra hecelenmiş halini bir textbox’a yazacak . Bu kodlar ne gibi durunlarda işimize yarayacak bilemiyorum ancak bir kişi oturup bu kodları yazdıysa elbette bir gün bir yerde işimize yarayabilir diye düşünüyorum.

Bu konuda anlatılacak pek bir şey olmadığından bu dersimiz bu kadar. Zaten kodlar arasında açıklamalar mevcut.


C# Kelime Heceleme İşlemi, dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Ayrıca kısa süre önce tüm YENİ derslerimi tek bir proje içinde yapıp github’a yükleyeceğim demiştim. Bu dersimde o projenin içerisinde bir klasör olarak yerini almıştır. Buraya tıklayarak projeye ulaşabilirsiniz.

Sağlıcakla ve takipte kalın ;)

Bol kodlu günler..

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)