C# Metot Kullanarak Kombinasyon Hesaplama

Rooster

only business
Legend Member
Katılım
10 Ağu 2019
Konular
727
Mesajlar
3,205
Çözümler
314
Tepkime puanı
4,997
Konum
Milano
RC Point
0
C# Windows Form ile yapılmış, Metot kullanılarak kombinasyon hesabı yapan programa ait kodlar.


Kombinasyon nedir?
Kombinasyon, bir nesne grubu içerisinden, sıra gözetmeksizin yapılan seçimlerdir. Örnek olarak bir iskambil kartı destesinden herhangi 4 kartın seçilmesi verilebilir.

Kombinasyon nasıl hesaplanır?
n, r’den büyük veya r’ye eşit olmak üzere n elemanlı bir kümeden seçilen r elemanlı kombinasyonların toplamı aşağıdaki formülle hesaplanır.
komb2
Görüleceği üzere faktoriyel hesabı programda sonuç aşamasında 3 defa kullanılmakta. Bu yüzden faktoriyel hesabını yapan bir metot oluşturacağız.

komb

Metot kısmında faktoriyel hesabı yapılıyor.

Kod:
[/COLOR][/CENTER]
[COLOR=rgb(184, 49, 47)][CENTER]1
2
3
4
5
6
7
8
9
10
11
 
public int faktorhesapla(int sayi)
{
int s = 1;
for (int i=1;i < = sayi;i++)
{
s *= i;
}
return s;
}

Butona yazılacak kodlar:

Kod:
[/COLOR][/CENTER]
[COLOR=rgb(184, 49, 47)][CENTER]private void button1_Click(object sender, EventArgs e)
{
int n, r, sonuc;
n = Convert.ToInt32(textBox1.Text);
r = Convert.ToInt32(textBox2.Text);
sonuc = faktorhesapla(n) / (faktorhesapla(r) * faktorhesapla(n - r));
label4.Text = sonuc.ToString();
}

Kodların tamamı aşağıdaki şekilde olacaktır.

Kod:
[/COLOR][/CENTER]
[COLOR=rgb(184, 49, 47)][CENTER]1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace kombinasyon
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public int faktorhesapla(int sayi)
        {
            int s = 1;
            for (int i=1;i < = sayi;i++)
            {
                s *= i;
            }
            return s;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            int n, r, sonuc;
            n = Convert.ToInt32(textBox1.Text);
            r = Convert.ToInt32(textBox2.Text);
            sonuc = faktorhesapla(n) / (faktorhesapla(r) * faktorhesapla(n - r));
            label4.Text = sonuc.ToString();
        }
    }
}
 
Üst