Burada amacınız bir dizide tutulan askerleri, başka bir dizide tutulan bölgelere rastgele dağıtmaktır. Dikkat edilmesi gereken nokta asker sayısı yeterli ise her bölgeye mutlaka en az 1 asker düşmesini sağlamaktır
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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 Asker_Dagitim
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text);
textBox1.Clear();
}
private void button2_Click(object sender, EventArgs e)
{
listBox2.Items.Add(textBox2.Text);
textBox2.Clear();
}
public bool UsedNameCheck(int a, int[] b) //a indeksi b dizisine daha önceden kayıt edilmiş mi
{
bool checkValue = false;
for (int i = 0; i < b.Length; i++)
{
if (b[i] == a)
{
checkValue = true;
break;
}
}
return checkValue; //Kayıt varsa true, yoksa false
}
private void button4_Click(object sender, EventArgs e)
{
listBox3.Items.Clear();
Random RandomNumber = new Random();
int selected = 0;
int[] selectedbuffer = new int[listBox1.Items.Count];
int count = 0;
while (count < listBox1.Items.Count)
{
selected = RandomNumber.Next(0,listBox2.Items.Count);
if (count < listBox2.Items.Count)
{
if (UsedNameCheck(selected + 1, selectedbuffer) == false)
{
selectedbuffer[count] = selected + 1;
listBox3.Items.Add(listBox1.Items[count] + "-" + listBox2.Items[selected]);
count++;
}
else
{
// MessageBox.Show("Seçilmiş" + selected);
}
}
<center>
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0501988908866060";
/* Programlama Deneme */
google_ad_slot = "7313904052";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</center><div></div>
else
{
selectedbuffer[count] = selected + 1;
listBox3.Items.Add(listBox1.Items[count] + "-" + listBox2.Items[selected]);
count++;
}
}
}
private void button3_Click(object sender, EventArgs e)
{
listBox3.Items.Clear();
}
}
}