פורסם 2005 באפריל 620 שנים אני מנסה ליצור מספרים רנדומליים בין 0-255 אז רשמתי קודאבל משום מה אני מקבל כול פעם את אותו המספר, 41.#include <stdio.h>#include <stdlib.h>void noise(){ int random=0; random=(rand()); printf("%d",random); getch();}void main(){ noise();}אני משתמש ב ++C
פורסם 2005 באפריל 620 שנים מחבר טוב אני בדרך להתייאשות ניסיתי כבר יותר מ5 קודים שונים ותמיד הוא נותן לי את אותה תוצאה, 41!!! אני לא יודע מה לעשות
פורסם 2005 באפריל 620 שנים מחבר ניסיתי גם ניסיתיהרצתי חלק גדול מהקודים שמוצעיםאבל הם רובם ל C ואני בכולם מקבל את אותה תוצאה... (41)
פורסם 2005 באפריל 620 שנים מחבר אני יכול להריץ גם ב++C דברים של Cאבל חלקם פשוט לא עובדיםלדוגמא אם אני מנסה לעשות Randomizeאבל החלק הבעייתי שלי הוא שלא משנה מה אני עושה הוא תמיד נותן לי את אותו המספר41!!!
פורסם 2005 באפריל 620 שנים תוסיף:#include <time.h>ותכניס ב-MAIN את השורה הבאה:srand(time(NULL));השורה הזאת צריכה להיכנס לפני שימוש בפונ' rand. בקיצור תכניס אותה לפני הקריאה ל-noise().* אגב, צריך להוסיף את השורה הזאת רק פעם אחת...
פורסם 2005 באפריל 620 שנים זה מה שאתה צריך לכתוב:#include <stdio.h>#include <stdlib.h>#include <time.h>#define K 10void noise(){int random=rand()%K;random=(rand());printf("%d",random);getch();}void main(){srand(time(0));noise();}מה שהפונקציה rand תעשה היא תייצר עבורך מספר בין 0 ל2 בחזקת 16 כל מה שנשאר לך לעשות הוא לצמצם את הטווח הזה למספרים שאתה רוצה למשל כמו בדוגמא שלי בין 0 ל9
פורסם 2005 באפריל 620 שנים או שתשתמש בזה:random = GetTickCount() % 256;יחד עם הגדרת:#include<windows.h>
פורסם 2005 באפריל 620 שנים עמית - לא טוב מה שהצעת...כי אם הוא מבצע את השורה הזאת כמה פעמים ברצף, סביר להניח שהוא יקבל לדוגמא:1617181920(מבין למה?)
פורסם 2005 באפריל 620 שנים אז זהו שלאsrand עושים רק פעם אחת בהתחלהלא צריך כל פעם לקרוא לפונקציה לפני rand
פורסם 2005 באפריל 620 שנים מוזר, אני זוכר שאני השתמשתי פעם בrandomize(), כדי לאתחל את הרנדום,אבל אני כבר לא זוכר איך...(לא עם srand)
פורסם 2005 באפריל 620 שנים Holy נראה לי שהתבלבלת קצת... לא קראת נכון את הת'רד. נסה שנית ;Dבכל אופן השיטה שעמית הציע מסתמכת על GetTickCount, זו פונ' שמחזירה מספר שכל הזמן עולה... לכן אם תבצע בלולאה:random = GetTickCount() % 256סביר להניח שתקבלrandom=123456...25425512...
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.