Exemple #1
0
        private void diziyeEkle(KisiUzaklik[] k_nn, KisiUzaklik ks)
        {
            for (int i = 0; i < k_nn.Length; i++)
            {
                if (k_nn[i] == null)
                {
                    k_nn[i] = ks;
                    return;
                }
            }

            int    max_index   = 0;
            double max_uzaklik = k_nn[max_index].uzaklikDouble;

            for (int i = 1; i < k_nn.Length; i++)
            {
                if (k_nn[i].uzaklikDouble > max_uzaklik)
                {
                    max_uzaklik = k_nn[i].uzaklikDouble;
                    max_index   = i;
                }
            }
            if (max_uzaklik > ks.uzaklikDouble)
            {
                k_nn[max_index] = ks;
            }
            return;
        }
Exemple #2
0
        private void BtnHesapla_Click(object sender, EventArgs e)
        {
            int yeni_yas   = Convert.ToInt32(textBoxHY.Text);
            int yeni_gelir = Convert.ToInt32(textBoxHG.Text);
            int k          = Convert.ToInt32(textBoxK.Text);

            KisiUzaklik[] k_nn = new KisiUzaklik[k];

            List <KisiUzaklik> uzakliklarA = new List <KisiUzaklik>();
            List <KisiUzaklik> uzakliklarB = new List <KisiUzaklik>();
            double             satir       = dataGridView1.RowCount - 1;

            for (int i = 0; i < satir; i++)
            {
                int    id    = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value);
                int    yas   = Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value);
                int    gelir = Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
                string sinif = dataGridView1.Rows[i].Cells[3].Value.ToString();
                double x     = yas - yeni_yas;
                double y     = gelir - yeni_gelir;

                double uzaklik = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2));

                KisiUzaklik ks = new KisiUzaklik(id, uzaklik, sinif);

                diziyeEkle(k_nn, ks);

                if (sinif.Equals(snf[0]))
                {
                    uzakliklarA.Add(ks);
                }
                else
                {
                    uzakliklarB.Add(ks);
                }
            }

            string yeni_sinif = uzaklikAnalizEt(k_nn);

            listBox1.DataSource = uzakliklarA;
            listBox2.DataSource = uzakliklarB;
            listBox3.Items.Add("sinif: " + yeni_sinif);
        }