16 Haziran 2013 Pazar

Bir sayının hem sağdan, hem de soldan okunuşunun aynı olup olmadığını kontrol etme - Csharp

Bu örneğimizde dizi yapısı,for döngüsü ve if else yapısı kullanılacak

Windows Form Hazırlama: Bir buton, textbox ve 2 label ekliyoruz.
Soru: Kullanıcıdan alınan bir sayının sağdan ve soldan okunuşunun aynı olup olmadığını kontrol eden program yapacağız.

Çözümü:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ödev1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string dizi = textBox1.Text;
            int degisken = new int();
            for (int i = 0; i < (dizi.Length / 2); i++)
            {
                if (dizi[i] == dizi[dizi.Length - i - 1])
                {
                }
                else
                {
                    degisken = 1;
                }
            }
            label1.Text = textBox1.Text;
            if (degisken != 1)
                label3.Text = "bu sayının hem sağdan, hem de soldan okunuşu aynı..";
            else
                label3.Text = "bu sayının sağdan ve soldan okunuşu aynı değil!";



        }
    }
}
Kod Açıklaması:
       string dizi = textBox1.Text;
            int degisken = new int();
Öncelikle textbox'a girilen değerimizi string bir ifadeye atıyoruz. Sebebi string değişkenlerin dizi gibi çalışması. Çünkü adım adım bu değişkendeki bilgileri mükaseye edeceğiz aynısı mı değil mi diye. Sonra aynımı değilmi diye adımında int degisken'ini kullanacağız.

  for (int i = 0; i < (dizi.Length / 2); i++)
            {
                if (dizi[i] == dizi[dizi.Length - i - 1])
                {
                }
                else
                {
                    degisken = 1;
                }
            }
Şimdi bir for döngüsü ile dizinin elemanlarını mükaseye edeceğiz. Peki döngü kaça kadar gidecek. Dizinin eleman sayısının yarısı kadar çünkü tam ortaya geldiğinde her iki taraftaki verileri mükaseye etmiş olacak. Şimdi artık dizinin elemanlarını kıyaslamaya geldi.
Örnek; biz textbox'a 123456 girdik bu 6 elemanlı bir dizi
başlanğıçta i=0 dizinin 0. elemanı yani dizinin ilk elemanı oluyor.  dizi[dizi.lenght(yani uzunluğu)=6'dır. Şimdi yerine koyalım herseyi dizi[6-0-1=5] oluyor.Formülde yerine koyalım dizinin o.elemanı yani ilk elemanı 1 dizinin 5.indeksi yani son rakam 6'dır
if(1 rakamı==6 rakamına)
doğru değilse else'ye düşüyor. değişken=1 oluyor. Döngü devam ediyor takii döngü son bulana kadar.

Döngüden sonra aşagıdaki kodlara sıra geliyor;
           label1.Text = textBox1.Text;
            if (degisken != 1)
                label3.Text = "bu sayının hem sağdan, hem de soldan okunuşu aynı..";
            else
                label3.Text = "bu sayının sağdan ve soldan okunuşu aynı değil!";

İlk textbox'a girdiğimiz değeri direk label'ın text'ine yazdırdık.şimdi bizim değişken değerimiz ne zaman 1'e eşit oluyordu. Sağdan ve soldan verileri karşılaştırdığımızda veriler eşit değilse değişken değeri 1'e eşit oluyordu. Eğer değişken 1'e eşit değilse sayının sağdan ve soldan okunuşunu aynı. değişken değeri 1'e eşitse ise sayının sağdan ve soldan okunuşu aynı değil uyarı mesajı label'a yazdırılacak.

Uygulamayı Buradan İndirebilirsiniz: https://hotfile.com/dl/228663375/39ed4e3/dev1.rar.html

Hiç yorum yok :

Yorum Gönder

Google PageRank Checker Powered by  MyPagerank.Net