PDA

View Full Version : سوال: چگونه می توانم از بین چند عدد یکی را به طور تصادفی انتخاب کنم؟



Ali_Sedaghat
یک شنبه 08 اردیبهشت 1392, 15:31 عصر
سلام دوستان
من چند مدتیه که درگیر انتخاب اعداد به صورت تصادفی هستم تا بتونم یک سری اطلاعات را به صورت تصادفی از دیتابیس استخراج کرده و آن را در معرض نمایش برای کاربران قرار دهم.
مشکل امروز من اینه:
فرض کنید ما 5 عدد داریم. اعداد 2 - 5 - 13 - 9 - 8
حالا می خواهیم یکی از این اعداد را به صورت تصادفی انتخاب کنیم.
تابع mt_rand در بازه ای از اعداد کار می کنه یعنی اعداد بین عدد اول و عدد دوم را به دست میاره که منظور من این نیست.
من فکر می کنم باید این اعداد را در یک آرایه ذخیره کنم. اما نمی دونم چه طوری به صورت تصادفی این اعداد را از آرایه فراخوانی کنم.
اگه کسی راه حلی برای این مشکل داره ازش ممنون میشم راهنمایی کنه.
با تقدیم احترام
صداقت

engmmrj
یک شنبه 08 اردیبهشت 1392, 15:42 عصر
$a=array(2,5,13,9,8);
echo array_rand($a);

bahram.iranshahi
یک شنبه 31 فروردین 1393, 14:33 عصر
سلام دوستان.اين سوال رو دارم،اگه ميشه لطف كنيد تا توليد n عدد بصورت تصادفي و ذخيره در آرايه رو برام كدشو بنويسيد،ممنون،اگرم بيشتر لطف ميكنيد بقيشم بگيد ك عالي ميشه:لبخند::لبخند:
برنامه اي بنويسيدكهnعدد تصادفي راتوليدكرده ودر يك ارايه ذخيره نمايد سپس اعمال زير را برروي اين ارايه انجام دهد
1.تمام عناصرارايه را نمايش دهد.
2.مجموع وميانكين ارايه رانمايش دهد.
3.عناصرارايه را به صورت مرتب شده نمايش دهد.
4.يك مقدارخاص را در ارايه بيدا كن

abolfazl98
شنبه 17 خرداد 1393, 12:18 عصر
سلام
ببینید ما 5 تا عدد داریم. مثلا 1,5,10,12,17 و می خواهیم وقتی برنامه اجرا شد ، یکی از این اعداد به طور تصادفی در text box نمایش داده بشه. میشه بگید چه کار باید بکنم؟ البته با زبان vb.net 2010
ممنون

MMSHFE
شنبه 17 خرداد 1393, 12:22 عصر
اینجا تالار PHP دوست عزیز. توی تالار VB.NET سؤالتون رو مطرح کنید.

aalmair
شنبه 17 خرداد 1393, 12:27 عصر
سلام دوستان
من چند مدتیه که درگیر انتخاب اعداد به صورت تصادفی هستم تا بتونم یک سری اطلاعات را به صورت تصادفی از دیتابیس استخراج کرده و آن را در معرض نمایش برای کاربران قرار دهم.
مشکل امروز من اینه:
فرض کنید ما 5 عدد داریم. اعداد 2 - 5 - 13 - 9 - 8
حالا می خواهیم یکی از این اعداد را به صورت تصادفی انتخاب کنیم.
تابع mt_rand در بازه ای از اعداد کار می کنه یعنی اعداد بین عدد اول و عدد دوم را به دست میاره که منظور من این نیست.
من فکر می کنم باید این اعداد را در یک آرایه ذخیره کنم. اما نمی دونم چه طوری به صورت تصادفی این اعداد را از آرایه فراخوانی کنم.
اگه کسی راه حلی برای این مشکل داره ازش ممنون میشم راهنمایی کنه.
با تقدیم احترام
صداقت


$arr=array(2,5,13,9,8);

if($count=count($arr))
{

echo $arr[rand(0,$count-1)];

}

MMSHFE
شنبه 17 خرداد 1393, 12:34 عصر
این بهتره ولی سؤال ایشون مال پارساله:

$arr=array(2,5,13,9,8);
echo $arr[array_rand($arr)];

aalmair
شنبه 17 خرداد 1393, 12:55 عصر
سلام دوستان.اين سوال رو دارم،اگه ميشه لطف كنيد تا توليد n عدد بصورت تصادفي و ذخيره در آرايه رو برام كدشو بنويسيد،ممنون،اگرم بيشتر لطف ميكنيد بقيشم بگيد ك عالي ميشه:لبخند::لبخند:
برنامه اي بنويسيدكهnعدد تصادفي راتوليدكرده ودر يك ارايه ذخيره نمايد سپس اعمال زير را برروي اين ارايه انجام دهد
1.تمام عناصرارايه را نمايش دهد.
2.مجموع وميانكين ارايه رانمايش دهد.
3.عناصرارايه را به صورت مرتب شده نمايش دهد.
4.يك مقدارخاص را در ارايه بيدا كن




<?php


function random_number_arr($n=0,$min=0,$max=0){

$arr=array();
for($i=0;$i<$n;$i++){

$arr[]=rand($min,$max);

}

return $arr;
}

function print_number_print($arr=array()){


for($i=0,$count_arr=count($arr);$i<$count_arr;$i++){

echo $arr[$i]."<br>\n";

}


}

function arr_number_sum_avg($arr=array() ,&$sum=0 , &$avg=0){

$sum=0;
$avg=0;
$count_arr=count($arr);
for($i=0;$i<$count_arr;$i++){

$sum += $arr[$i];

}
if($count_arr)
{

$avg=$sum / $count_arr ;
}


}

function arr_number_sort($arr=array() ){

sort($arr,SORT_NUMERIC ) ;
return $arr;
}




function arr_number_find($arr=array(),$num=0 ){

if(in_array($num,$arr)) {
return 1;
}
return 0;
}








$find_number=5;
$random_numbers=random_number_arr(20,0,100);


print_number_print($random_numbers);
arr_number_sum_avg($random_numbers,$sum,$avg);
echo "\n sum= $sum ; avg = $avg \n" ;
$random_numbers=arr_number_sort($random_numbers);
print_number_print($random_numbers);



if(arr_number_find($random_numbers,$find_number))
{
echo "\n yes find number $find_number";

} else
{

echo "\n no find number $find_number";
}



?>

MMSHFE
شنبه 17 خرداد 1393, 13:12 عصر
دوست عزیز، قرار نیست مشق شب دیگران رو اینجا انجام بدیم. اینجا میخوایم بجای ماهی دادن، ماهیگیری یاد بدیم. بنابراین سعی کنید راهنماییشون کنید تا خودشون کار رو انجام بدن.

aalmair
شنبه 17 خرداد 1393, 13:17 عصر
دوست عزیز، قرار نیست مشق شب دیگران رو اینجا انجام بدیم. اینجا میخوایم بجای ماهی دادن، ماهیگیری یاد بدیم. بنابراین سعی کنید راهنماییشون کنید تا خودشون کار رو انجام بدن.

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

MMSHFE
شنبه 17 خرداد 1393, 13:21 عصر
اتفاقاً من همینجا هستم که این چیزا رو سخت بگیرم. درصورت تکرار، پست شما بدون اخطار قبلی حذف خواهد شد. قرار نیست بقیه رو آماده خور و وابسته به خودمون بار بیاریم.

Mohammadsgh
شنبه 17 خرداد 1393, 14:25 عصر
100%موافقم