با سلام خدمت شما عزیزان گل گلاب،اگه بخوام یک عدد بین 1 تا 10 تولید کنم(به طور تصادفی)از چه دستوری باید استفاه کنم خیلی ممنون
با سلام خدمت شما عزیزان گل گلاب،اگه بخوام یک عدد بین 1 تا 10 تولید کنم(به طور تصادفی)از چه دستوری باید استفاه کنم خیلی ممنون
اين خدمت دوست عزيز:
Random random = newRandom();
for (int i = 0; i < 100; i++)
Console.WriteLine(random.Next(1, 10));
Console.ReadKey();
Random r=new Random();
Console.WriteLine(r.Next() % 10);
خوب دوست من اگر بخواهم اعداد تصادفی را با این شرط که تکراری نباشند را استفاده کنم چه کاری باید بکنم
ميتونيد يك ليست n خونه اي داشته باشيد و فرآيند ايجاد يك عدد اتفاقي رو در يك حلقه انجام دهيد.
به اين شكل كه شرط حلقه اين است كه "ماداميكه عدد توليد شده درون ليست وجود دارد يك عدد ديگر توليد كن" در غير اينصورت عدد ساخته شده را به ليست اضافه ميكنيد و اين عمل رو n بار انجام ميديد...
سلام دوست عزیز ،
همچنین میتوانید از کلاس System.Security.Cryptography.RNGCryptoServiceProvider که از کلاس
System.Security.Cryptography.RandomNumberGenerator به ارث برده شده و اعداد رندوم واقعی تولید میکند استفاده نمایید :
byte[] randomNumber = new byte[1];
System.Security.Cryptography.RNGCryptoServiceProvi der.Create().GetBytes(randomNumber);
MessageBox.Show("Random Number : " + randomNumber[0].ToString());
I've just started tweeting!
@Alireza_Maddah
توي VB اين كد وجود داره كه اگر بشه به C# تبديل كنيد، اعداد تصادفي غير تكراري ميسازه.
Randomize ()
Label1.Text = CStr(Int(Rnd() * 10
خط اول تابع است.
سلام
این متد ک برایت نوشتم یک آرایه ای تصادفی از اعداد غیر تکراری ایجاد میکند که در یک محدوده عددی مورد نظر ایجاد میگردد:(GetRandomIndex)
///<summary>
/// ایجاد شاخص تصادفی برای یک محدوده
///</summary>
///<param name="MinValue"></param>
///<param name="MaxValue"></param>
///<returns></returns>
publicstaticint[] GetRandomIndex(int MinValue, int MaxValue)
{
List<int> RtnList = newList<int>();
Random R = newRandom();
int Cnt = 0;
while (Cnt < MaxValue - MinValue + 1)
{
int r = R.Next(MinValue - 1, MaxValue + 1);
if (BetWeen(r, MinValue, MaxValue) && !RtnList.Contains(r))
{
RtnList.Add(r);
Cnt++;
}
}
return RtnList.ToArray();
}
publicstaticbool BetWeen(object MainValue, object Value1, object Value2)
{
decimal TmpMainValue = Convert.ToDecimal(MainValue);
decimal TmpValue1 = Convert.ToDecimal(Value1);
decimal TmpValue2 = Convert.ToDecimal(Value2);
return (TmpValue1 <= TmpMainValue && TmpMainValue <= TmpValue2);
}
حالا اگه بخوایم تو محیط کنسول یک console.readline بزاریم و dیک عددی از کاربر بگیره .
اگر اون عددی که کاربر وارد کرد توی اعداد تصادفی که تولید کردیم بود yes چاپ بشه و اگه نبود No چاب بشه چیکار باید کرد من هرکاری کردم نشد
به نظرم همون كاري كه استاد sinpin گفتن بكنيد براتون بهتره ... چون انعطاف پذيري بيشتري داره
يعني اگه اعداد تصادفي رو تو يه ليست يا آرايه بريزيد براحتي ميتونيد تو اون چك كنيد كه برابري با اون عدد ديگه(d) وجود داره يا نه ...
البته نظر من بين اين همه استاد شايد زياد مهم نباشه چون من خودمم مبتديم ولي خوب كنجكاوي...
موفق باشيد
آخه من اون رو خوب متوجه نشدم .. اگه لطف کنید ساده همون روشی که تو پستم نوشتم بگید ممنون میشم
میشه بگید چطوری میشه دو عدد تصادفی غیر تکراری بین -1 و 1 ساخت؟
یعنی اگه 0 بود بعدی یا 1 باشه یا -1
قبلا هم گفتم ... میتونید اعداد تولید شده توسط تابع Random.Next رو بریزین تویه یه آرایه و هر کاری که دلتون میخواد باهاش بکنید ...
خوب این برای سوال شما :
Random r = new Random();
int[] sel = new int[3];
while (true)
{
for (int i = 0; i < 3; i++)
{
sel[i] = r.Next(-1, 2);
}
if (sel[0] != sel[1] && sel[1] != sel[2] && sel[0] != sel[2])
break;
}
for (int i = 0; i < 2; i++)
{
Console.WriteLine(sel[i]);
}
امیدوارم که بدردتون خورده باشه ...
موفق باشید
مرسی
حالا سخت ترش میکنیم
ببینید
دوتا عددی که تولید میشه
حتما باید یکیش 0 باشه
و اون یکی یا 1 هست یا -1
:D
یعنی یکی از این حالت ها
0 1
0 -1
-1 0
1 0
خیلی سادست فقط یه شرط داخل شرط اصلی اضافه میکنیم و میگیم اگه خونه ی اول آرایه یا خونه ی دوم آرایه صفر بود حلقه شکسته بشه ... دلیل اصلی این که من از آرایه استفاده کردم بخاطره همین سوالا بود که الان شما بهش اضافه کردین
اینم کدش :
Random r = new Random();
int[] sel = new int[3];
while (true)
{
for (int i = 0; i < 3; i++)
{
sel[i] = r.Next(-1, 2);
}
if (sel[0] != sel[1] && sel[1] != sel[2] && sel[0] != sel[2])
{
if (sel[0] == 0 || sel[1] == 0) break;
}
}
for (int i = 0; i < 2; i++)
{
Console.WriteLine(sel[i]);
بازم سوالی دارین اگه بتونم و در حدم باشه جواب میدم ...
موفق باشید
فکر کنم منظورم رو نگرفین
من از این سه عدد فقط دوتاشو نیاز دارم
و حتما باید یکی از این دو عدد یک باشه!
عدد رندوم بعدی یا باید 1 باشه یا -1
طبق اون حالت هایی که گفتم!
ببخشید مشکل از منه!
ببینید
من دو تا عدد راندوم میخوام
که یکیش حتما 0 هست
و دومیش یا 1 یا -1
من میخوام از بین 144 دکمه 32 تای اونارو به طور رندمی انتخاب کنم و بگم اگر در هنگام اجرای برنامه دکمه ی کلیک شده جزو دکمه های رندم شده بود یکسری دستورات را انجام بده.حالا من چه کدی را در سی شارپ به کار ببرم؟میشه کمکم کنید؟
سلام
من میخام با هربار اجرا شدن برنامم داخل text1یک کد قرار بگیره؟؟؟؟
دقیق بگید کجا چه کدی بنویسم
مرسییی
آخرین ویرایش به وسیله only45 : یک شنبه 26 آذر 1391 در 10:11 صبح دلیل: تایپ اشتباه
سلام
//in the name of god
//صل الله علی محمد و آله
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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
List<Button> Buttons=new List<Button>();
public Form1()
{
InitializeComponent();
for (int i = 1; i <= 134; i++)
{
Button NewButton = new Button();
NewButton.Click += new EventHandler(ButtonClicked);
NewButton.Name = "button" + i.ToString();
NewButton.Text = NewButton.Name;
//...
this.Controls.Add(NewButton);
}//next i
var AllButtons=(from button in this.Controls.Cast<Control>() where button is Button select button).ToArray();
for (int j = 1; j <= 32; j++)
{
int RandomIndex = new Random().Next(0, 134);
while(Buttons.Contains(AllButtons[RandomIndex]))
{
RandomIndex=new Random().Next(1,135);
}//end while
Buttons.Add((Button)AllButtons[RandomIndex]);
}//next j
}
void ButtonClicked(object sender, EventArgs e)
{
if(Buttons.Contains((sender as Button)))
{
//button that has clicked is from random buttons
MessageBox.Show("random button clicked");
//...
}//end if
}//end ButtonClicked
}
}
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ
سلام
یک کد میخواستم که از کاربر حاصل ضرب دو عدد رو سوال کنه ولی هر سری دو عدد به صورت تصادفی انتخاب شود
سلام من برای یه قسمت از پروژم برنامه ای با زبان سی شارپ می خوام که هر دفعه یه عدد تصادفی بین 1 و 60 بهم بده ، کسی می تونه کمکم کنه ؟
و می خوام اینو بهش اضافه کنم ..
اگه بخواهیم که این اعداد تصادفی تکراری نباشه چی!! ارسال 15 فکر کنم خوبه اما اون مال سه تا عدده
من محدوده اعداد 5 رقمیو میخام
این برنامه این کار را می کنه:
HashSet<int> GenerateRand(int count,int start,int end){
HashSet<int> randomSet= new HashSet<int>();
Random rnd = new Random();
int aRandomNumber;
while (randomSet.Count<count) {
if (!randomSet.Contains(aRandomNumber=rnd.Next(start, end))) {
randomSet.Add(aRandomNumber);
}
}
return randomSet;
}
مثلا گه بخواهید بین 0 تا 99999 بیایید 10 تا عدد انتخاب کنید بدون تکرار این طوره:
HashSet<int> myset = GenerateRand(10,0,1000000);
سلام دوستان
می خواستم برنامه پرتاب دو تاس و نتایج پرتاب رو بنویسیم نمی دونم از کجا شروع کنم (البته در محیط کنسول و به زبان سی شارپ)
سلام دوست عزیز
هر بار که 1 رو از روی کیبرد بزنی دوتا تاس میندازه
اگه هر چیزی بجز 1 بزنی از برنامه خارج میشه
Untitled.jpg
سلام
ببخشید یه سوال دارم، میشه کد ساده ای نوشت که به کد زیر بگه : اعداد 11 رقمی تولید کن؟
در حقیقت میخواییم کدی که بین 1 الی 99 تولید میشه 11 رقمی باشه
private void button1_Click(object sender, EventArgs e)
{
Random RandomCode = new Random();
int rnd = RandomCode.Next(1,100);
textBox1.Text = rnd.ToString();
}
آخرین ویرایش به وسیله Helmod : سه شنبه 19 مرداد 1395 در 10:12 صبح