C# cümledeki sesli harflerin sayısı(basit)

goldas
05-04-2010, 11:33   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
19 mesaj
Kayıt Tarihi:Kayıt: Ara 2009

string cümle = textBox1.Text;

            int a = 0, ı = 0, i = 0, u = 0, ü = 0, o = 0, ö = 0,e_harfi=0;

            foreach (char harf in cümle)
            {
                switch (harf)
                {
                    case 'a':
                        a++;
                        label_a.Text ="a : "+ a.ToString();
                        break;
                   
                    case 'e':
                        e_harfi++;
                        label_e.Text = "e : " + e_harfi.ToString();
                        break;

                    case 'ı':
                        ı++;
                        label_ı.Text = "ı  : " + ı.ToString();
                        break;

                    case 'i':
                        i++;
                        label_i.Text = "i  : " + i.ToString();
                        break;

                    case 'u':
                        u++;
                        label_u.Text = "u : " + u.ToString();
                        break;

                    case 'ü':
                        i++;
                        label_ü.Text = "ü : " + ü.ToString();
                        break;

                    case 'o':
                        i++;
                        label_o.Text = "o : " + o.ToString();
                        break;

                    case 'ö':
                        i++;
                        label_ö.Text = "ö : " + ö.ToString();
                        break;

                    default:
                        break;
                       
                }

Son Düzenleme: goldas ~ 05 Nisan 2010 11:34
PcMaKeR
05-04-2010, 12:26   |  #2  
PcMaKeR avatarı
Yıllanmış Üye
Teşekkür Sayısı: 6
8,935 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace SesliHarf
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] sesliler = new char[] {'a','e','ı','i','o','ö','u','ü' };
            string cumle = "Bu cümlede bir çok sesli harf bulunmaktadır. Cümlenin özünü sesli harfler kazandırır.";
            foreach (char c in sesliler)
            {
                Console.WriteLine("{0} harfinden {1} kadar bulunmaktadır", c, cumle.ToCharArray().Count(p => p == c));
            }
            Console.Read();
        }
    }
}
--------------------------------
Ekran çıktısı:
 
a harfinden 6 kadar bulunmaktadır
e harfinden 6 kadar bulunmaktadır
ı harfinden 3 kadar bulunmaktadır
i harfinden 4 kadar bulunmaktadır
o harfinden 1 kadar bulunmaktadır
ö harfinden 1 kadar bulunmaktadır
u harfinden 3 kadar bulunmaktadır
ü harfinden 4 kadar bulunmaktadır
--------------------------
 
ben böyle yaptım.
daha hızlı geldi bana.
 
Yanlız bu kod .net 3.0 ve üzeri istemektedir.
Sebebi: using System.Linq;
 
cumle.ToCharArray().Count(p => p == c));
Bu satır bir linq kullanıyor. cümleyi bir char dizisine dönüştürüp o an foreach ile işlenen char ın sayısını alıyor.
Count(p => p == c));
Bu alıyor. ;)
 

Son Düzenleme: PcMaKeR ~ 05 Nisan 2010 12:30