Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Sezar şifrelemesi, bir yazıdaki harflerin yerlerinin değiştirilmesi sonucunda elde edilir. Bu şifrede, her harf o harften bir (ya da birkaç) sonraki harf kullanılarak yazılır.

    Bu noktada programcıdan; Türkçe karakter kullanılmadan girilen metindeki (girilenMetin) harfleri bir sonraki harflere (tek harf atlamalı) dönüştürüp (sifrelenmisMetin) basit (yer değiştirme) şifreleme yapması istenmektedir.

    Örnek

    Girdi Çıktı
    girilenMetin: test sifrelenmisMetin: uftu
    girilenMetin: abcd sifrelenmisMetin: bcde

    Çözüm - C#

    internal class Program
    {
        private static void Main(string[] args)
        {
            string girilenMetin = "Bu bir denemedir";
     
            // Girilen düz metini, tek tek harflere dönüştür ve karakter dizisine at
            char[] karakter = girilenMetin.ToCharArray();
     
            foreach (char tekHarf in karakter)
            {
                // Her bir karakteri bir sonraki karaktere dönüştür
                string sifrelenmisMetin = Convert.ToChar(tekHarf + 1).ToString();
     
                // Klavye düzeninde değişik karakterlere gelen harflerde değişim yaparak yazdır
                Console.Write(sifrelenmisMetin
                    .Replace('[', 'A')
                    .Replace('!', ' ')
                    .Replace('Z', 'A'));
            }
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    public class Main {
     
        public static void main(String[] args) {
     
            String girilenMetin = "Bu bir denemedir";
     
            // Girilen düz metini, tek tek harflere dönüştür ve karakter dizisine at
            char[] karakter = girilenMetin.toCharArray();
     
            for (char tekHarf : karakter)
            {
                // Her bir karakteri bir sonraki karaktere dönüştür
                String sifrelenmisMetin = String.valueOf((tekHarf += 1));
     
                // Klavye düzeninde değişik karakterlere gelen harflerde değişim yaparak yazdır
                System.out.print(sifrelenmisMetin
                        .replace('[', 'A')
                        .replace('!', ' ')
                        .replace('Z', 'A'));
            }
        }
    }