Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya, rastgele bir cümle (girilenCumle) veriliyor. Programcıdan ise, girilen cümledeki harflerin kaç kere tekrarlandığının sayılması ve bunu sonuç olarak yazdırması isteniyor.

    Not: Girilen cümle türkçe karakter içermeyecek, 26 harfli ingiliz alfabesinden oluşacaktır.

    Örnek

    Girdi Çıktı
    girilenCumle: Hello World Sonuç: d:1
    e:1
    h:1
    l:3
    o:2
    r:1
    w:1

    Çözüm - C#

    internal class Program
    {
        private static void Main(string[] args)
        {
            string girilenCumle = "Hello World";
            string sonuc = "";
     
            // ASCII tablosunda yer alan, alfabedeki harfleri otomatik olarak yükle
            for (char ch = (char) 65; ch <= 90; ch++)
            {
                int sayac = 0;
     
                // Girilen metindeki karakterleri döngü vasıtası ile tek tek al
                foreach (char karakter in girilenCumle)
                {
                    // Eğer harf numarası (bkz. ASCII tablosu - Örn. A harf 65) var ise sayacı arttır
                    if (ch == karakter || (ch + 32) == karakter)
                    {
                        sayac++;
                    }
                }
     
                // Eğer sayaç 0 değilse sonuca her bir harfin kaç kere yazıldığını ekle
                if (sayac > 0)
                {
                    sonuc += ch.ToString().ToLower() + ":" + sayac + "\n";
                }
            }
     
            Console.WriteLine(sonuc);
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    public class Main {
        public static void main(String[] args) {
     
            String girilenCumle = "This is simple";
            StringBuilder sonuc = new StringBuilder();
     
            // ASCII tablosunda yer alan, alfabedeki harfleri otomatik olarak yükle
            for (char ch = (char) 65; ch <= 90; ch++)
            {
                int sayac = 0;
     
                // Girilen metindeki karakterleri döngü vasıtası ile tek tek al
                for (char karakter : girilenCumle.toCharArray())
                {
                    // Eğer harf numarası (bkz. ASCII tablosu - Örn. A harf 65) var ise sayacı arttır
                    if (ch == karakter || (ch + 32) == karakter) {
                        sayac++;
                    }
                }
     
                // Eğer sayaç 0 değilse sonuca her bir harfin kaç kere yazıldığını ekle
                if (sayac > 0)
                {
                    sonuc.append(String.valueOf(ch).toLowerCase()).append(":").append(sayac).append("\n");
                }
            }
     
            System.out.println(sonuc);
        }
    }