PDA

View Full Version : سوال: اعداد تصادفی



feree123
چهارشنبه 20 مرداد 1389, 10:47 صبح
سلام

به جز این روش راه دیگه ای هم وجود داره ؟


#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main () {
clrscr ();
int a, b;
do{
getch();
a=random(6)+1;
b=random(6)+1;
cout<<a<<" "<<b<<"\n";
}
while (a!=6 || b!=6);
cout<<"finished";
getch();
return 0;
}

drstrike
چهارشنبه 20 مرداد 1389, 14:33 عصر
سلام
اگه تعداد ارقام مهم نیست میتونی از دستور زیر استفاده کنی:


srand(time(NULL));
rand();

khafan_bat
چهارشنبه 20 مرداد 1389, 16:06 عصر
برای اینکه عدد تکراری نده بعد از تعریف متغیر ها در خط پایین تر عبارت زیر رو اضافه کن :


randomize();

http://www.cplusplus.com/reference/clibrary/cstdlib/srand/

http://www.cplusplus.com/reference/clibrary/cstdlib/rand/


توابعی که در زبان های برنامه نویسی مختلف عدد تصادفی تولید میکنند در واقع با استفاده از یک عملیات ریاضی عدد رو بدست می آورند ( به درس آمار رجوع کن ) . منظورت از روش دیگه ای برای تولید عدد تصادفی چیه ؟ چه چیزی لازم داری ؟

Salar Ashgi
چهارشنبه 20 مرداد 1389, 18:07 عصر
به جز این روش راه دیگه ای هم وجود داره ؟
منظورتان از راه دیگر چه راهی است ؟! اگر منظورتان تولید اعداد تصادفی غیر تکراری است ، همانطور که توسط دوستان گفته شد میتوانید از دستور زیر استفاده کنید :


srand(time(0));
البته خودتون هم میتونید الگوریتم های زیادی واسه تولیدشون بنویسید ، مثلا تابع زیر اعداد تصادفی با
طول دلخواه تولید میکنه :



#include <iostream>
#include <conio>
#include <stdlib>
void myRand(int n){
int *a = new int[n];
for(int i=0;i<n;i++)
a[i] = 1+rand()%10;
for(int i=0;i<n;i++)
cout<<a[i];
cout<<endl;
}
//======================
int main(){
int n;
srand(time(0));
while(true){
cout<<"Enter Length :\n";
cin>>n;
myRand(n);
cout<<"=============\n";}
getch();
}

موفق باشید ./