code-neon

C# İle Metindeki Kelime Sayısını Bulma

Kullanıcıdan alınan metin içindeki kelimeleri sayan C# programı

using System;
class Program
{
    static void Main(string[] args)
    {
        Console.Write("Metni girin: ");
        string metin = Console.ReadLine();

        int kelimeSayisi = SayKelimeSayisi(metin);
        Console.WriteLine("Metindeki kelime sayısı: " + kelimeSayisi);
        Console.ReadLine();
    }

    private static int SayKelimeSayisi(string metin)
    {
        int kelimeSayisi = 0;
        bool kelimeBasinda = true;

        for (int i = 0; i < metin.Length; i++)
        {
            if (char.IsWhiteSpace(metin[i]) || char.IsPunctuation(metin[i]))
            {
                kelimeBasinda = true;
            }
            else if (kelimeBasinda)
            {
                kelimeSayisi++;
                kelimeBasinda = false;
            }
        }

        return kelimeSayisi;
    }
}

C# ile Kullanıcıdan metin alınıyor.

        Console.Write("Metni girin: ");
        string metin = Console.ReadLine();

C# ile Metindeki kelime sayısını hesaplayan fonksiyonu çağırıyoruz.

        int kelimeSayisi = SayKelimeSayisi(metin);
        Console.WriteLine("Metindeki kelime sayısı: " + kelimeSayisi);
        Console.ReadLine();
    }

Bu fonksiyon, verilen metindeki kelime sayısını hesaplar ve geri döndürür.

    private static int SayKelimeSayisi(string metin)
    {
        int kelimeSayisi = 0;
        bool kelimeBasinda = true;

Metinde dolaşıyoruz ve her bir karakteri kontrol ediyoruz.

        for (int i = 0; i < metin.Length; i++)
        {
            // Karakter boşluk veya noktalama işareti ise, bir kelimenin sonuna gelindiğini belirtiyoruz.
            if (char.IsWhiteSpace(metin[i]) || char.IsPunctuation(metin[i]))
            {
                kelimeBasinda = true;
            }
            // Karakter bir harf veya rakam ise, kelimenin içindeyiz ve yeni bir kelime başlamadığını belirtiyoruz.
            else if (kelimeBasinda)
            {
                // Yeni bir kelime başladığı için kelime sayısını arttırıyoruz.
                kelimeSayisi++;
                kelimeBasinda = false;
            }
        }

Kelime sayısını geri döndürüyoruz.

        return kelimeSayisi;