شباب ارجو المساعدة
ابحث عن دالة تقوم بتوليد ارقم عشوائية مثل ارقم كروت التعبئة الخاصة بالجوال بحيث لا تتكرر
شباب ارجو المساعدة
ابحث عن دالة تقوم بتوليد ارقم عشوائية مثل ارقم كروت التعبئة الخاصة بالجوال بحيث لا تتكرر
أنا هاسعدك علي الغم أني مو عبقري:
بص بقي يا أخي
انت هتولد رقم عشوائي في الrange اللي انت عاوزه -- مثلا من 1000 إلي 5000-- كل ده بالكود و بعد كده تكت الرقم فل ملف و كل مره تيجي تولد رقم جديد تتأكد إنه موش موجود في الملف . فهمت ؟
انا هكتبهولك بالجافا لأني مليش في ال سي شارب :
long method() throws Execption {
long no;
BufferedReader in = new BufferedReader ( new FileReader ( "file.txt"));
PrintWriter out = new PrintWriter (new FileWriter ("file.txt"));
long rand = Math.rand();
String line;
while (( line = in.readLine()) != null ) {
if ( Integer.parseInt (line) == rand )
return -1;// this means this no is invalid
}
out.println (rand )
return rand; // this means the no is valid as you want it.
}
class Program
{
static void Main(string[] args)
{
//int remaining = 10;
bool[] range = new bool[10];
char[] result = new char[10];
int i = 0;
Random rnd = new Random();
while (i < 10)
{
int index = rnd.Next(0, 10);
if (range[index] == true)
continue;
range[index] = true;
result[i++] = Char.Parse(index.ToString());
}
Console.WriteLine(result);
}
}الفكرة ببساطة هو عمل Array من نوع bool و حجمه 10 عناصر من 0 الى 9 و قيمته الافتراضية false لكل العناصر و سيكون هذا الarray بمثابة checklist لنتحقق اذا كان العدد تم ايجاده من قبل أم لا..
ثم نقوم بعمل loop و كل مرة نقوم بتوليد رقم جديد ثم نتأكد من أنه لم يتم توليده من قبل عن طريق قراءة الflag المناظر لهذا الرقم في الarray و اذا كان الflag = false اذن نضيف الرقم الى العدد و نقوم بقلب الflag الى true و هكذا
Sr. Software Development Engineer
Hulu, LLC
My Blogs
طيب شباب ممكن الكود بال vb.net
شكرا شباب
بس انا مشعايز توليد الأرقام مرة واحدة فقط
انا عوزها مثل أرقم التفعيل الذي بكروت الشحن حق الموبايل
هذا الموضوع مغلق.