Bugün “Challenges | … ” başlıklı bir seriye başlamayı düşünüyorum. Coderbyte isimli kodlama değerlendirme platformundaki meydan okumalar bu seride olacak. C# öğrendiğim için istenilen kodları C# dilinde yazacağım. Yeni diller öğrendikçe bu diller değişebilir. Bu serinin ilk uygulaması “First Reverse” isimli challenge. Bu cahllenge’ın temel mantığı dizi elemanlarını / ekrandan girilen değişkenleri ters sıra ile yazdırma. ASlında daha önceki yazımda olan bir kod fakat buna rağmen kodu yazaken zorluk çektim. Hala öğrenememişim…
Challenge Türü: Easy
Detaylar

Kodumuz

- 9. satırda reverse değişkenine bir ilk atama yapmayı unuymamalıyız. ( Burada string a = String.Empty; , string a = Null; veya string a = “”; kullanabiliriz.
- 11. satırda for föngüsünün içerisini mutlaka (int i = str.Length – 1; i >= 0; i–) şeklinde yazmalıyız. (int i = str.Length; i > 0; i–) veya (int i = 0; i <= str.Length -1; i++) şeklinde yazmamız yanlış olur.
- 13. satırda a değikenine i yi ekleyip devam etmek değil de i nin dizi içerisinde ifade ettiği değişkenin değerini ekleyip atamayı unutmamalıyız. (yani a += i; yazmamalıyız.) Ayrıca a = str[i]; gibi bir hata da yapmamalıyız.
Kodun Çıktısı

Hatalar

- 11. satırda döngüyü döndürmeye sağlayacak olan int i değişkenine 0 değerini verip artırarak ilerlemek istiyor olabiliriz fakat bunu yaparken int i değişkeni ile string reverse değişkenlerini kıyaslayamayız. Türleri eşit olmalı. for (int i = 0; i <= str.Length -1; i++) veya for ( int i = str.Length -1; i >= 0; i–) yazabiliriz.


- 11. satırda veya mutlaka for ( int i = str.Length -1; i >= 0; i–) şeklinde yazmalıyız. for (int i = 0; i <= str.Length -1; i++) şeklinde yazdığımızda kodun çıktısı yukarıdaki gibi olur. İçindeki harfleri ters çevirip yeni bir dizi oluşturmasını istediğimiz diziyi ters çevirmez. Ayrıca for (int i = 0; i < str.Length; i++) şeklinde de yazmamalıyız. Bu şekilde de hata veriyor (idk why?).

- 13. satırda for döngüsünün içinde i‘ nin değerini direkt olarak reverse isimi string değişkene ekleyemeyiz çünkü burada i değişkeni bizim değişkenimizin değerini etkilemek / değiştirmek için kullanılmıyor. i değişkeninin kullanılma amacı reverse isimli string değişkenini bir diziye dönüştürüp bu dizinin her bir elemanının sırasını temsil etmektir. bu sayede i. eleman şudur i+1. eleman şudur gibi dizinin elemanlarını tersten yazdırmamız mümkün olacaktır.