PDA

View Full Version : چگونه آرایه ای از اعداد رندوم را مرتب؟



MiniMicro
جمعه 05 خرداد 1391, 19:37 عصر
با سلام خدمت همه شما دوستان گرامی من می خوام با استفاده از کلاس رندوم اعداد رندومی رو از 1 تا 10 تولید کنم و بعد اون هارو داخل یه آرایه قرار بدم و بعد اون ها رو به صورت مرتب شده در یه لیست باکس قرار بدم...

دوستان میتونید راهنماییم کنند؟؟؟

فرید نجفلو
جمعه 05 خرداد 1391, 20:06 عصر
سلام
دوست عزیز نگفتید این اعاد تصادفی شما با تکرار هستن یا بدون تکرار

MiniMicro
شنبه 06 خرداد 1391, 18:42 عصر
سلام ممنون از توجهتون این اعداد تکراری هم هستند.

MiniMicro
شنبه 06 خرداد 1391, 19:07 عصر
سلام دوستان من این کد رو برای انجام کارم نوشتم و لی یه خطایی میگیره که نمیدونم برای چی هست...
private void button1_Click(object sender, EventArgs e)
{
Random objRandom = new Random();
//intRandomNumber = objRandom.Next(10);
int i,intRandomNumber;
int[] arr = new int[9];
int[] sortarr = new int[9];
for (int j = 0; j <=9; j++)
{
intRandomNumber = objRandom.Next(10);
arr[j] = intRandomNumber;
}

for (i = 0; i <= 9; )
{
if (arr[i] == i)
{
i++;
sortarr[i] = arr[i];
}
else
{
i--;
}
}
for (i = 0; i <= 9; i++)
{
listBox1.Items.Add(sortarr[i]);
}

}

MiniMicro
شنبه 06 خرداد 1391, 19:13 عصر
البته از این خط خطا میگیره:

arr[j] = intRandomNumber;
عنوان خطا هم از این قراره:
Index was outside the bounds of the array.

abcd_a
شنبه 06 خرداد 1391, 19:24 عصر
سلام
private void Form1_Load(object sender, EventArgs e)
{
Random r = new Random();
int[] a= new int[10];
for (int i = 0; i < 10; i++)
a[i] = r.Next(1,10);

Array.Sort(a);
for (int i = 0; i < 10; i++)
listBox1.Items.Add(a[i]);
}

returnx
شنبه 06 خرداد 1391, 19:25 عصر
عنوان خطا هم از این قراره:
Index was outside the bounds of the array.
خوب بخاطر اینکه حلقتون بیشتر از طول ارایه میره و به Index که اشاره میکنه بیشتر از طول آرایتون هست...

MiniMicro
شنبه 06 خرداد 1391, 19:28 عصر
سلام ممنون جواب داد این یه تیکه چیکار میکنه؟

a[i] = r.Next(1,10);

abcd_a
شنبه 06 خرداد 1391, 19:31 عصر
سلام ممنون جواب داد این یه تیکه چیکار میکنه؟

تو محدوده 1تا 10 اعداد تصادفی صحیح ایجاد میشه

Arrowtic
شنبه 06 خرداد 1391, 19:43 عصر
سلام
من خیلی کاربلد نیستم ولی خوب برنامه زیر که نوشتم یه آرایه از اعداد تصادفی بین 1 و10 رو میسازه و بعد این 10 عددو به طور صعودی مرتب میکنه.لیست باکس ایناشو دیگه نیدونم : دی


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Rnd
{
class Program
{
static void Main(string[] args)
{
int temp;
int[] a;
a = new int[10];
Random number = new Random();
for (int i = 0; i <= 9; i++)
{
int rndnumber = number.Next(1, 11);
a[i] = rndnumber;
}
for (int i = 9; i >0; i--)
{
for (int j = 0; j < i; j++)
{
if (a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i <= 9; i++)
{
Console.WriteLine(a[i]);
}
}
}
}

alireza.zahani
دوشنبه 08 خرداد 1391, 10:37 صبح
salam,,in hamon kario ke mikhay ro anjam mide