C#’ta Permütasyon Hesaplama

Bu dersimizde C#’ta permütasyon hesaplayan programı yazacağız.

Bu dersimizde C#’ta permütasyon hesaplayan programı yazacağız. İlk olarak programın görüntüsünü oluşturalım: Daha sonra ilerde çıkabilecek hataları önlemek için textboxlara sadece sayı girilmesini sağlamak için gerekli kodu yazalım:


e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);

Daha sonra değişkenlerimizi oluşturalım:

int n = 1, r = 1; double sonuc = 1;

Daha sonra hesaplamamızı yapabilmek için btnPermutasyonHesapla_Click Olayını yazalım:

try { if (txtn.Text != "" && txtr.Text != "") { n = int.Parse(txtn.Text); r = int.Parse(txtr.Text); if (n >= r) { sonuc = double.Parse(n.ToString()); for (int i = 1; i < r; i++) { sonuc *= double.Parse((n - i).ToString()); } lblSonuc.Text = sonuc.ToString(); } else { MessageBox.Show("r, n&#39;den b&uuml;y&uuml;k olamaz..!", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (txtn.Text == "") { MessageBox.Show("n sayısını giriniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (txtr.Text == "") { MessageBox.Show("r sayısını giriniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (Exception hata) { MessageBox.Show(hata.Message.ToString(), "Hata..!", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { n = 1; r = 1; }

Bütün kodların hazır hali:

int n = 1, r = 1; double sonuc = 1; private void btnPermutasyonHesapla_Click(object sender, EventArgs e) { try { if (txtn.Text != "" && txtr.Text != "") { n = int.Parse(txtn.Text); r = int.Parse(txtr.Text); if (n >= r) { sonuc = double.Parse(n.ToString()); for (int i = 1; i < r; i++) { sonuc *= double.Parse((n - i).ToString()); } lblSonuc.Text = sonuc.ToString(); } else { MessageBox.Show("r, n&#39;den b&uuml;y&uuml;k olamaz..!", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (txtn.Text == "") { MessageBox.Show("n sayısını giriniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (txtr.Text == "") { MessageBox.Show("r sayısını giriniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (Exception hata) { MessageBox.Show(hata.Message.ToString(), "Hata..!", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { n = 1; r = 1; } } private void txtn_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar); }

Bu dersimizin sonuna geldik. Herkese iyi çalışmalar.

Abdullah Akpınar
Kocaeli Üniversitesi Kocaeli Meslek Yüksekokulu'nda okuyorum. Bilgisayarla ilgili (en çok programlama) yeni şeyler öğrenmeyi seviyorum.
Yorum Yaz

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

Yukarı Git