23 Mart 2013 Cumartesi

C Sharp Uygulamalar Birbirinden Farklı Rastgele Sayılar Listesi Oluşturma

KONU : C sharp Form Uygulamalar rastgele birbirinden farklı sayıları random sınıfın kullanarak oluşturma ve oluşturulan sayıları liste kutusunda gösterme.

UYGULAMAYI İNDİR



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;
        }
    }
}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder