|
Kelimeyi Hecelere Ayıran Sınıf (class)
Nov 07,2008 00:00
by
RubeNiS
public static class Hece { static char[] Sesliler = { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' }; static string HecelenmisKelime = ""; static bool Seslimi(char c) { foreach (char cx in Sesliler) { if (c == cx) return true; } return false; } static int SesliyiBul(string w) { for (int i = 0; i < w.Length; i++) if (Seslimi(w[i])) return i; return -1; } static string TireKoy() { return (HecelenmisKelime == "") ? "" : "-"; } static void KelimeyiHecele(string w) { int i = SesliyiBul(w); if (i == -1) HecelenmisKelime += w; else { if (i == 0) { //abba abac abb aba if (w.Length > 1 && Seslimi(w[1])) { HecelenmisKelime += TireKoy() + w.Substring(0, 1); KelimeyiHecele(w.Substring(1)); } else { if (w.Length > 3) { if (Seslimi(w[2])) { HecelenmisKelime += TireKoy() + w.Substring(0, 1); KelimeyiHecele(w.Substring(1)); } else { HecelenmisKelime += TireKoy() + w.Substring(0, 2); KelimeyiHecele(w.Substring(2)); } } else if (Seslimi(w[2])) { HecelenmisKelime += TireKoy() + w.Substring(0, 1); KelimeyiHecele(w.Substring(1)); } else HecelenmisKelime += TireKoy() + w; } } else if (i == 1) { if (w.Length > 3) { if (Seslimi(w[2])) { HecelenmisKelime += TireKoy() + w.Substring(0, 2); KelimeyiHecele(w.Substring(2)); } else// if(w.Length>4) { if (Seslimi(w[3])) { HecelenmisKelime += TireKoy() + w.Substring(0, 2); KelimeyiHecele(w.Substring(2)); } else if (w.Length > 4 && !Seslimi(w[4])) { HecelenmisKelime += TireKoy() + w.Substring(0, 4); KelimeyiHecele(w.Substring(4)); } else { HecelenmisKelime += TireKoy() + w.Substring(0, 3); KelimeyiHecele(w.Substring(3)); } } } else HecelenmisKelime += TireKoy() + w; } else { if (w.Length > 4) { if (Seslimi(w[4])) { HecelenmisKelime += TireKoy() + w.Substring(0, 3); KelimeyiHecele(w.Substring(3)); } else { HecelenmisKelime += TireKoy() + w.Substring(0, 4); KelimeyiHecele(w.Substring(4)); } } else HecelenmisKelime += TireKoy() + w; } } } public static string Hecele(string rS) { string HecelenmisMetin = ""; foreach (string s in rS.Split(' ')) { HecelenmisKelime = ""; KelimeyiHecele(s); HecelenmisMetin += HecelenmisKelime + " "; } return HecelenmisMetin; } } |