ABA


"prototype של rand ב Turbo C"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10423 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10423
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   22:27   10.07.11   
אל הפורום  
  prototype של rand ב Turbo C  
 
   מישהו יכול לבדוק מה ה prototype של הפונקציה הזאת?

אני לא עבדתי אף פעם עם Turbo C ובשביל להשתמש במספרים רנדומלים באסמבלי אני צריך את הפרוטוטייפ שלה ב Turbo C כי זה שונה ממה שאני מכיר ב VISUAL.

חיפשתי בגוגל אבל לא מצאתי את הפרוטוייפ עצמו..

אני מחפש לדעת האם הפונקציה מקבלת INT ומחזירה INT, או שהיא מקבלת LONG ומחזירה LONG...

ושאלה נוספת, האם קיימת אפשרות בrand של Turbo C להגריל גם מספרים שליליים.. אם למשל אני מעוניין לקבל מספר רנדומלי שערכו המוחלט קטן מ 5.. אז גם -4 עונה על הקריטריון... הדרך היחידה שאני מכיר זה להגריל מספר בין 0 ל 4, ואח"כ להגריל מספר נוסף בין 0 ל 1. אם יצא 0 אז לקחת את המספר -4 ואם יצא 1 אז לקחת את המספר 4.
האם יש טכניקה אחרת?


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לגבי קבלת מספר שלילי, למה לא לעשות DOWNTOWN 10.07.11 22:49 1
     השאלה העיקרית היא מה הפרוטוטייפ. ShocKi  10.07.11 23:04 2
         מכתב Sagittarius 17.07.11 00:06 3

       
DOWNTOWN
חבר מתאריך 28.5.02
5388 הודעות
   22:49   10.07.11   
אל הפורום  
  1. לגבי קבלת מספר שלילי, למה לא לעשות  
בתגובה להודעה מספר 0
 
   עבור


-n < x < +n


x = rand(2n) - n


או שלקיתי בהבנה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ShocKi  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 19.3.02
20171 הודעות, 10 פידבק
   23:04   10.07.11   
אל הפורום  
  2. השאלה העיקרית היא מה הפרוטוטייפ.  
בתגובה להודעה מספר 1
 
   אם למשל אני מעוניין בטווח שבין 20000 ל -20000..
כלומר לפי השיטה שלך n=20000 והפרוטוטיפ של הפונקציה הוא שהיא מקבלת int ומחזירה int.. אז תהייה לי שגיאת קומפילציה כי 2n חורג מהטווח המקסימלי של integer.


קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sagittarius
חבר מתאריך 29.1.17
909 הודעות
   00:06   17.07.11   
אל הפורום  
  3. מכתב  
בתגובה להודעה מספר 2
 
   תראה ב שפת C המקורית והטהורה
זה פונקציה
RANDOM
היושבת ב STDLIB.H
ולתת SEED זה בעזרת פונקציה RANDOMIZE

Generating Random Numbers
The key function in generating random numbers is;

int random (int n);
which generates a random number in the range of 0 to n-1. For example;

y = random(100);
y will be in the range of 0 though 99.

Note that if you run the following program, again and again, the same three random numbers will be generated. That is, TurboC always seeds the random number generator with the same starting number.

This feature is great for debugging. However, it would terrible if you were designing software for the gaming industry as everyone would know what numbers were going to come up.

Therefore, the function "randomize()" may be used to seed the random number generator with a number which is developed from the system clock, which of course, is always changing.


עכשיו בקשר למספרים שליליים :
השיטה היא לאתר את הטווח שאתה מעוניין ולהסיט אותו ל
0 ועד כמה שאתה צריך
את זה לתת לRANDOM
ואז משם להסיט חזרה בהפרש


"ברוך אלוקים אשר לא הסיר תפילתי וחסדו מאתי" (תהילים סו כ)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net