Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya, uzunluğu veya kısalığı belli olmayan bir kelime (kelime) veriliyor. Eğer kelimenin uzunluğu tek sayıdan oluşuyorsa, kelimenin ortasında yer alan harfi; kelimenin uzunluğu çift sayıdan oluşuyorsa, kelimenin ortasının sağ ve solunda yer alan iki harfi bulması programcıdan isteniyor.

    Örnek

    Girdi Çıktı
    girilenDeger: tava Sonuç: av
    girilenDeger: buzdolabı Sonuç: o

    Çözüm - C#

    internal class Program
    {
        private static void Main(string[] args)
        {
            string kelime = "fırın", sonuc = "";
            int uzunluk = kelime.Length, orta = 0;
     
            // Kelime uzunlugu birden fazla ise gerekli işlemlere geç
            if (uzunluk > 1)
            {
                // Kelime uzunluğu tek bir sayı ise
                if (uzunluk%2 == 1)
                {
                    // Kelimenin orta noktasını bul ve harfi al
                    orta = kelime.Length/2;
                    sonuc = kelime[orta].ToString();
                }
                // Kelime uzunluğu çift haneli bir sayı ise
                else
                {
                    // Kelimenin orta noktasını bularak önce ve sonrasındaki harfleri al
                    orta = kelime.Length/2;
                    sonuc = kelime[orta - 1] + "" + kelime[orta];
                }
            }
            // Kelime 2 haneden kısa ise uğraşma, aynen geri döndür
            else
            {            
                Console.WriteLine(kelime);
            }
     
            Console.WriteLine(sonuc);
     
            Console.Read();
        }
    }
    

    Çözüm - Java

    public class Main {
        public static void main(String[] args) {
            String kelime = "fırın", sonuc = "";
            int uzunluk = kelime.length(), orta = 0;
     
            // Kelime uzunlugu birden fazla ise gerekli işlemlere geç
            if (uzunluk > 1)
            {
                // Kelime uzunluğu tek bir sayı ise
                if (uzunluk % 2 == 1)
                {
                    // Kelimenin orta noktasını bul ve harfi al
                    orta = kelime.length() / 2;
                    sonuc = String.valueOf(kelime.charAt(orta));
                }
                // Kelime uzunluğu çift haneli bir sayı ise
                else
                    {
                    // Kelimenin orta noktasını bularak önce ve sonrasındaki harfleri al
                    orta = kelime.length() / 2;
                    sonuc = kelime.charAt(orta - 1) + "" + kelime.charAt(orta);
                }
            }
            // Kelime 2 haneden kısa ise uğraşma, aynen geri döndür
            else
            {
                System.out.println(kelime);
            }
     
            System.out.println(sonuc);
        }
    }