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.

    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'));
            }
        }
    }