Metni Ters Çevirme

C# ile herhangi bir yerden alınan metni nasıl tersten yazabileceğimizi göstereceğim...

Bu makalemde Substring metodunu kullanarak bir metni nasıl tersten yazabileceğimizi göstereceğim.

Bunun hazır bir metodu var ama bunu belirtmek istemiyorum. Hep hazır kullanmakda iyi değildir. Maksat algoritma geliştirmek. :) Algoritma demişken nasıl bir yol izleyeceğimizide belirtim.

İlk olarak biraz Substring nedir? Bundan bahsedeyim.

Substring, başlangıç, bitiş'tir. Şimdi bu da ne demeyin. Bu string olarak tanımlanan değişkenlere atanan değerlerin içinden belirli bir aralığı vererek bu aralıktaki değerleri almak için kullanılır.

Daha basit olarak bir örnek vereyim: "text" diye bir string değişkenimiz olsun. Biz bu değişkene "mustafa" metnini atadık diyelim. Bu kelimeden "ta" metnini almak istiyoruz. Bunun için ilk olarak karakter sayısına bakalım. 7 karakterli bir metnimiz var. Hemen sayarsak "ta" 3'te başlayıp 5'te bitiyor. Bu şekilde bir ifade kullanırsak:


metin='mustafa';

metin.Substring(3,5);



'ta' metnini elde etmiş oluruz. Şimdi geçelim uygulamamıza. Burada yapacağımız işlem bir döngü içerisinde text değişkenine atanan değeri karakter karakter seçerek tersmetin değişkenine atayacağız. Ama bu işlemi sondan başa doğru yaparak gerçekleştiriyoruz. Bu sayede metnimiz ters çevrilmiş oluyor. Gerisi size kalmış.

Kodlar:


string text = "";

string tersmetin = "";

int cevir;

text = "Ters çevrilecek metin";

cevir = Convert.ToInt32(text.Length);

for (; cevir >= 1; cevir--)

{

    // Metni sondan başlayıp tekrar yazdırıyoruz.

    tersmetin += text.Substring(cevir - 1, 1).ToString();

}

MessageBox.Show(tersmetin.ToString());

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Herşey Çok Guzelde Anlatım Şekliniz Felan Ama bir de Substrıng'i Açıklamışken Convert-ToInt32-Length'ı da açıklasadın İyi Olurdu Sağolun... cevir = ////Convert////.////ToInt32////(text./////Length/////); İyi Çalışmalar
Teşekkürler, boş bir vaktimde güncellerim...
slm. orada cevir int olarak yani tamsayı olarak tanımlanmış string bir veriyi tamsayı bir değişkene atayacaksak (int 32 bitlik tanımlama için) Convert.toInt32(string veri) onun için kullanılmış. yalnız orda "text.legent" zaten tamsayı bir değer döndürmesi gerekiyodu "Convert.toInt32" kullanmasada olabilir ama denemedim.
Evet arkadaşım. Dediğin doğru. Tam sayılarla yoğun olarak çalıştığım zamanlardan kalmıştır. Veri girişlerinde sayısal işlemlerde convert metodunu yoğun olarak kullandığım zamanlardan alışkanlık haline gelmiş. ;) Öylede çalışabilir.
Console.WriteLine("kelime giriniz:"); string skelime = Console.ReadLine(); string terskelime=""; int cevir; cevir = Convert.ToInt32(skelime.Length); for(; cevir >= 1; cevir--) { terskelime+=skelime.Substring(cevir -1,1).ToString(); } Console.WriteLine(terskelime.ToString()); Console.ReadLine();
string mtn = txtmetn.Text; string çmtn=""; int sayac = mtn.Length; for (int i = sayac - 1; i>-1; i--) { çmtn += mtn[i]; } txtmetn.Text = çmtn;

Yukarı Git