PDA

View Full Version : سوال: عدد تصادفی بین صفر و یک



miladspeaker
شنبه 20 اسفند 1390, 17:42 عصر
سلام .. می خوام با سی شارپ یه برنامه بنویسم که 1000 عدد تصادفی بین 0 و 1 تولید کنه. متاسفانه جواب نمی ده ... باید چیکار کنم؟ اولا اینکه اصلا عدد تصادفی بین 0 و 1 نمیده ثانیا اینکه وقتی دامنه رو 0 تا 1000 در نظر می گیرم و بعد تقسیم بر 1000 می کنم فقط جواب 0 رو بهم میده ... خواهش می کنم سریع بهم بگید باید چیکار کنم .. ممنون

lvlaziar
شنبه 20 اسفند 1390, 18:37 عصر
اول یه لیست باکس تو فرمت بزار بعد از از refrence این dll رو ادد کن!
Microsoft.VisualBasic
بعدش از حلقه for استفاده کن!

using System;
using System.Windows.Forms;
using Microsoft.VisualBasic;

namespace _1000RND
{
public partial class MDM : Form
{
public MDM()
{
InitializeComponent();
}

private void GEN_Click(object sender, EventArgs e)
{
for (double i = 0; i <= 1000; i++)
{
this.lb.Items.Add(VBMath.Rnd());
}
}
}
}


اینک از خوده پروژه!
خوش باشی!

mohammad272005
شنبه 20 اسفند 1390, 20:48 عصر
var r = new Random();
var next = Convert.ToDouble(r.Next(0, 1000))/1000;

mehrdad85
شنبه 20 اسفند 1390, 23:56 عصر
سلام
دوست عزیز برای این که 1000 تا یا n تا عدد تصادفی تولید کنی کافیه که بدونی چطور یک عدد تصادفی تولید کنی و بعدش با دستورات for و حلقه ها هر چند بار که میخای این عملو تکرار کنی
برای تولید یک عدد تصادفی در یک rang هم کافیه که از تابع randomاستفاده کنی و ععد بدست آمده را ضرب در بزرگترین مقدار محدوده کنی و سپس اون با یک جمع میکنی
امیدوارم اشتباه نکرده باشم و تونسته باشم کمکت کنم

موفق باشی

S.Reza
یک شنبه 21 اسفند 1390, 09:30 صبح
سلام
این که کاری نداره و نیازی هم نیست تقسیم و ضرب کنید

به جای اینکه Random.next رو فراخوانی کنید Random.NextDouble رو فراخوانی کنید

به همین راحتی به همین خوشمزگی :لبخند:

private void button2_Click(object sender, EventArgs e)
{
Random rn = new Random();
MessageBox.Show(rn.NextDouble().ToString());
}

vistacali
یک شنبه 21 اسفند 1390, 11:06 صبح
دوستان راست میگن دیگه این چی هست که براش یک DLLبخوای اضاف کنی مگه میخواد اسمون رو به زمین بیاره

lifeless
شنبه 27 خرداد 1391, 01:56 صبح
خیلی سخت میگیرین دوستان! مساله ساده تر از این حرفاست!
کد زیر 1000 عدد تصادفی بین 0 و 1 رو تولید میکنه:


Random random = new Random();
for (int i = 0; i < 1000; i++)
Console.WriteLine(random.NextDouble()*1.0);
Console.ReadKey();


با تغییر "1.0" میتونید محدوده ی تولید اعداد تصادفیتون رو تغییر بدین.
یعنی اگه بخوایین اعداد تصادفی بین 0 و 2 تولید شه، به جای "1.0" باید "2.0" رو بگذارید.
موفق باشید...