PDA

View Full Version : سوال: طرز استفاده از تابع rand



nargesjt
یک شنبه 09 خرداد 1395, 22:21 عصر
سلام، برای پروژه باید از بین حروف انگلیسی با هر بار اجرای برنامه به طور تصادفی یک رشته‌ی شش‌تایی از حروف انگلیسی رو بتونم با تابع rand نمایش بدم. ولی طرز استفاده از تایع rand برای ایجاد کاراکتر تصادفی رو بلد نیستم

AliAskari1375
دوشنبه 10 خرداد 1395, 00:22 صبح
تابع rand() تو stdlib.h تعریف شده. کاربردش هم خیلی ساده س فقط یه نکته داره و اینه که قبل از این که تابع rand رو صدا بزنی باید با تابع srand هسته ی اون رو عوض کنی. چون اگر این کار رو انجام ندی هر بار که برنامه رو اجرا کنی همون عدد های تصادفی اجرای قبلی رو بر میگردونه. منظورم اینه که باید در شروع برنامه تابع srand رو که یه پارامتر میگیره صدا بزنی و بعد از اون می تونی بی نهایت بار از تابع rand استفاده کنی. تابع rand یه آرگومان میگیره که معمولا از زمان سیستم برای اون استفاده می کنند. مثلا اینجوری:





#include <stdlib.h>
#include <stdio.h>
#include <time.h>


int main()
{
int i;
srand((unsigned int)time(0));


for(i = 0; i < 10; i++)
{
printf("%d\n", rand());
}


system("pause");
return 0;
}

nargesjt
دوشنبه 10 خرداد 1395, 12:07 عصر
بعد از یادگرفتن استفاده از rand مشکلم این هست که باید برای نمایش آرایه‌ی شش تایی از بین حروف‌انگلیسی ، کجای تابع rand آرایه تعریف کنم و یا اصلا چطور بگم از A تا Z شش تا انتخاب کنه؟

AliAskari1375
دوشنبه 10 خرداد 1395, 13:03 عصر
#include <stdlib.h>
#include <stdio.h>
#include <time.h>


int main()
{
char Text[7] = "";
int i;


srand((unsigned int)time(0));


for (i = 0; i < 6; i++)
{
Text[i] = (char)( (rand() % 26) + 65 );
}
Text[6] = 0;


printf(Text);
printf("\n");


system("pause");
return 0;
}