PDA

View Full Version : مقاله: تولید عدد تصادفی غیر تکراری



طبیب دل
جمعه 14 خرداد 1389, 20:00 عصر
با سلاممن می خوام تعدادی عدد تصادفی تولید کنم ولی همش یه عدد تولید میکنه چطوری میشه اعداد متفاوت یا غیر تکراری تولید کرد؟

s.khoshfekran
جمعه 14 خرداد 1389, 21:19 عصر
از Guid میتونی استفاده کنی!

طبیب دل
جمعه 14 خرداد 1389, 22:58 عصر
از Guid میتونی استفاده کنی!
این دیگه چیه اگه ممکنه بیشتر توضیح بدید یا یه مثال بزنید

Peyman.Gh
جمعه 14 خرداد 1389, 22:59 عصر
این دیگه چیه اگه ممکنه بیشتر توضیح بدید یا یه مثال بزنید
private void button1_Click(object sender, EventArgs e)
{
label1.Text = Guid.NewGuid().ToString();
}

sylvester
سه شنبه 18 خرداد 1389, 22:59 عصر
دوست عزیز ممتنون از کدی که معرفی کردید ولی این کد حروف تصادفی هم تولید می کنه در صورتی که ما در خروجی فقط عذذ می خوایم ؟ ممنون میشم راهنمایی کنید

حجتی نیا
سه شنبه 18 خرداد 1389, 23:19 عصر
دوست عزیز ممتنون از کدی که معرفی کردید ولی این کد حروف تصادفی هم تولید می کنه در صورتی که ما در خروجی فقط عذذ می خوایم ؟ ممنون میشم راهنمایی کنید
تو سایت یه جستجو بکن هستش،چندهفته پیش دانلودش کردم اما الان ندارم برات بزارم...

amir-yeketaz
چهارشنبه 19 خرداد 1389, 00:11 صبح
من اینو قبلا توضیح دادم ... ولی خوب الان برنامشو با توضیحات براتون میذارم ببینید
امیدوارم که تونسته باشم کمکی کنم ...
موفق باشید

amir-yeketaz
چهارشنبه 19 خرداد 1389, 00:15 صبح
در ضمن به اینجا هم یه سر بزنید مطمئنا مفید خواهد بود

تولید اعداد تصادفی در سی شارپ (http://www.barnamenevis.org/forum/showthread.php?t=105142)

Peyman.Gh
چهارشنبه 19 خرداد 1389, 12:15 عصر
با استفاده از این تابع میتوانید تعداد رقم عدد تصادفی را تعیین کنید.

public string rand(int repeat)
{
Random rand = new Random();
string num="" ;
for (int i = 0; i < repeat; i++)
{
num += rand.Next(0, 9);
}
return num ;
}

نحوه استفاده :

private void button1_Click(object sender, EventArgs e)
{
label1.Text = rand(5).ToString();
}

yayan85
دوشنبه 02 مرداد 1391, 15:18 عصر
با سلام
4 عدد تابع نوشتم، برای اینکه به طور تصادفی 4 عدد مجزا تولید شود، و سپس از جدول عکس ها عکسی که idآن با عدد تولید شده یکی است را در یک گرید ویو نمایش دهد

راه اصولی که از تولید عدد تکراری جلوگیری کند چیست؟



public void Bindgridview1()
{

//rndpic = (Random() * 5);
Random rand = new Random();
int rndpic = 0;
rndpic = rand.Next(1, 292);
TextBox1.Text = rndpic.ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["pisoftConnectionString"].ConnectionString.ToString());
string query = "select * from pics where id=@id";


SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@id", rndpic);

con.Open();
SqlDataReader dr = cmd.ExecuteReader();


GridView1.DataSource = dr;
GridView1.DataBind();

//GridView3.DataSource = dr;
//GridView3.DataBind();
dr.Close();
con.Close();

}




سوال بعدی اینکه
در page loadبرای نمایش عکس ها به این صورت توابع را اجرا می کنم.میخوام با کلیلک روی دکمه جدید عکس های جدید نمایش دهد.که این کار انجام نمی شود.حتی با رفرش مجدد صفحه هم تغییری در عکس ها انجام نمی شود. ایراد کار کجاست؟البته برای بررسی تکراری نبودن، اعداد تصادفی ایجاد شده که داخل textbox ها ریخته شده را چندین بار با هم مقایسه کرده ام ! که البته میدانم راه اصولی نیست. چون در یک مورد تکراری نمایش می دهد.

if (!IsPostBack)
{
while (TextBox1.Text ==TextBox2.Text )
{
Bindgridview2();
Bindgridview1();

}