C#

C# Tekrar Etmeyen Karakterleri Bulma

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde kullanıcının girdiği metinde tekrar etmeyen harfleri bulmayı anlatacağım. Hadi başlayalım !Örneğin kullanıcı aabbccddavd girdi, burada a, b, c ve d harfleri birden fazla var, işte biz onları bulacağız. Tabi öncesinde kullanıcıdan bir metin alalım ve bu metni küçük harfe çevirelim. Küçük harfe çevirmemizin sebebi, Aa şeklinde girilirse a harfi iki kere olacağından ve büyük küçük harfe duyarsız olacağından girilen metni küçük harfe çevirirsek işimizi dahada kolaylaştırmış oluruz.
Console.Write("Metni Giriniz: ")
string metin = Console.ReadLine().ToLower();
Şimdi de nasıl yapacağımızı bi düşünelim. Bence bir tane string değişken oluşturalım ve metin adlı değişkenin tüm karakterlerini dolanarak karakterlerinin oluşturduğumuz string içerisinde olup olmadığını kontrol edelim. Eğer string içinde yoksa o zaman ekleme yapalım ve varsada ilgili karakteri string değişken içinden silelim. Tabi tüm bu işlemler için bize bir tane döngü, bir tane if şartı, ilgili karakterin string içinde olup olmadığını kontrol etmek içinde IndexOf() metodu ve string içinden karakter silmek içinde Replace() metodu lazım olacak.
IndexOf() fonksiyonu char tipinde bir tane parametre alıyor ve girilen parametre string içerisinde varsa, bulunduğu index numarasını, yoksada -1 geriye döndürüyor.
Replace() fonksiyonuda iki tane char tipinde parametre alıyor ve birinci parametredeki karakter yerine ikinci parametredeki charı koyuyor, yani yer değiştirme yapıyor.
E bizim birinci parametremiz hazır ama ikinci parametre olarak ne göndereceğiz derseniz, özel bir kaçış karakteri olan \0 kullanacağız. Bu kaçış parametresi imlecin olduğu yerde saymasını sağlıyor yani herhangi bir şey yazmıyor (boş bir char değişken (char c = ” gibi) oluşturulamadığı için \0 kullanmamız gerekiyor).
Evet artık kodlamamızı yapalım ve kullanıcıya tekrar etmeyen karakterleri ekrana yazdırarak gösterelim;
string tekrarsizlar = "";
foreach(char karakter in metin)
    if(tekrarsizlar.IndexOf(karakter) == -1)
        tekrarsizlar += karakter;
    else
        tekrarsizlar = tekrarsizlar.Replace(karakter,'\0');
Console.Write("Tekrar Etmeyen Karakterler: " + tekrarsizlar
Evet bu dersimizde bu kadardı, tüm C# derslerimize buraya tıklayarak tıklayabilirsiniz. Herkese hayırlı günler.
Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu