לא מצליח ליצור מספרים רנדומליים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

לא מצליח ליצור מספרים רנדומליים


The-Devil

Recommended Posts

אני מנסה ליצור מספרים רנדומליים בין 0-255

אז רשמתי קוד

אבל משום מה אני מקבל כול פעם את אותו המספר, 41.

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


void noise()
{

int random=0;
random=(rand());
printf("%d",random);
getch();
}


void main()
{
noise();

}

אני משתמש ב ++C

קישור לתוכן
שתף באתרים אחרים

אני יכול להריץ גם ב++C דברים של C

אבל חלקם פשוט לא עובדים

לדוגמא אם אני מנסה לעשות Randomize

אבל החלק הבעייתי שלי הוא שלא משנה מה אני עושה הוא תמיד נותן לי את אותו המספר

41!!!

קישור לתוכן
שתף באתרים אחרים

תוסיף:

#include <time.h>

ותכניס ב-MAIN את השורה הבאה:

srand(time(NULL));

השורה הזאת צריכה להיכנס לפני שימוש בפונ' rand. בקיצור תכניס אותה לפני הקריאה ל-noise().

* אגב, צריך להוסיף את השורה הזאת רק פעם אחת...

קישור לתוכן
שתף באתרים אחרים

זה מה שאתה צריך לכתוב:


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

#define K 10

void noise()
{

int random=rand()%K;
random=(rand());
printf("%d",random);
getch();
}


void main()
{
srand(time(0));
noise();

}

מה שהפונקציה rand תעשה היא תייצר עבורך מספר בין 0 ל2 בחזקת 16 כל מה שנשאר לך לעשות הוא לצמצם את הטווח הזה למספרים שאתה רוצה למשל כמו בדוגמא שלי בין 0 ל9

קישור לתוכן
שתף באתרים אחרים

Holy נראה לי שהתבלבלת קצת... לא קראת נכון את הת'רד. נסה שנית  ;D

בכל אופן השיטה שעמית הציע מסתמכת על GetTickCount, זו פונ' שמחזירה מספר שכל הזמן עולה... לכן אם תבצע בלולאה:

random = GetTickCount() % 256

סביר להניח שתקבל

random=

1

2

3

4

5

6

.

.

.

254

255

1

2

.

.

.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...