Kaydol:
Kayıt Yorumları
(
Atom
)
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 RasgeleBirbirindenFarkliSayılarUretme
{
public partial class RasgeleSayilarUretme : Form
{
public RasgeleSayilarUretme()
{
InitializeComponent();
}
int rasgeleBirSayi = -1;
Random rasgele;
List< int > cikanSayilar;
int secilenSayi = -1;
private void Form1_Load(object sender, EventArgs e)
{
//Rasgele sayıları oluşturak Random nesnesinin bir örneği
rasgele = new Random();
//Çıkan sayılar tutmak için bir liste tanımlayalım:
cikanSayilar = new List< int >();
//Rasgele 250 tane sayı oluşturalım ve hepsi birbirinden Farklı olsun
//Çıkan sayılarıda bir list kutusuna ekleyelim
while (true)
{
rasgeleBirSayi = rasgeleBirSayiGetir(250);
listBox.Items.Add(rasgeleBirSayi);
if (cikanSayilar.Count > 249)
break;
}
}
//Rasgele Sayiyi Getiren metodumuz.
public int rasgeleBirSayiGetir(int sayi)
{
//Rasgele ile bulunan sayı daha önce çıkmış ise yeni farklı bir sayı bulana kadar
//yeni sayılar üretsin
do
{
secilenSayi = rasgele.Next(sayi);
if (cikanSayilar.Contains(secilenSayi) == false)
{
cikanSayilar.Add(secilenSayi);
break;//yeni sayı bulunca döngüden çıkmak için bunu kullan
}
} while (true);
//Bulunan farklı sayıyı geri dönsün
return secilenSayi;
}
}
}
Hiç yorum yok :
Yorum Gönder