עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

מישהו מתחיל - איך יוצרים מספרים רנדומליים ב ++C ?

Featured Replies

פורסם

אני גם משתמש ב visual c++ express edition.

תודה.

פורסם

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
int start = 1, end = 10

srand((unsigned) time(NULL));

printf("%d\n", rand() % (end - start) + start );
return 0;
}

זה יתן לך מספר רנדומלי מstart לend-1

זה עובד ככה..

אתה משתמש בזמן כפרמטר לרנדומליות, זמן זה נקרא timestamp והוא אם אני לא טועה מספר השניות שעברו מהראשון לינואר 1978, אתה משתמש בפעולה שארית כדי לקבל מספר שהוא בין 0 למספר שאתה מחלק בו במקרה שלנו end-start כלומר 9 אז תקבל מספר בין 0 ל 8, אתה מוסיף לו את start שהוא 1 ולכן תקבל מספר מ1 עד 9

או ברמה יותר כללית, אתה עושה שארית בשביל לקבל מספר בין 0 ל - end - start , לאחר ההוספה של start אתה מקבל מספר שהוא בין start ל end

פורסם

חחחחחחחחחחח מה העמסת על הבנאדם

בעקרון,מה שהבחור שמעלי רשם זה פוקנציה רנדומלית אמיתית(לא הכי הכי אבל בהחלט)

הופנקציות המובנות של השפות על הפניםם

נותנו בדיוק את אותם המספרים כל הזמן

מה שמעלי הביא מעולה, תנסה להבין את זה

פורסם
  • מחבר

כלומר יש פונקציות רנדומליות יותר טובות?

איפה אפשר למצוא אותן?

אני מתקדם לאט לאט בקריאת החומר של השפה (למרות שלפני הרבה שנים למדתי את זה בעיקרון) ולכן יכול להיות שבקרוב אני כבר אוכל להתעניין בפונקציות שמעבר לשפה הסטנדרטית..

פורסם

כלומר יש פונקציות רנדומליות יותר טובות?

איפה אפשר למצוא אותן?

אני מתקדם לאט לאט בקריאת החומר של השפה (למרות שלפני הרבה שנים למדתי את זה בעיקרון) ולכן יכול להיות שבקרוב אני כבר אוכל להתעניין בפונקציות שמעבר לשפה הסטנדרטית..

תתבונן במה שרשמתי.

פורסם

אם אתה משתמש בפונקציות הרנדום של השפה בצורה נכונה, אז זה רנדום יחסית טוב. כמובן, יש שימושים שעבורם זה לא רנדום מספיק טוב (כי זה הרי לא באמת רנדום, אלא פסאודו-רנדום).

matteo, מאיפה החלטת שהפונקציות המובנות נותנות תמיד את אותם המספרים? כל עוד דואגים לקרוא ל-srand בדיוק פעם אחת בתחילת התכנית, לא אמורה להיות בעיה.

פורסם

אם אתה משתמש בפונקציות הרנדום של השפה בצורה נכונה, אז זה רנדום יחסית טוב. כמובן, יש שימושים שעבורם זה לא רנדום מספיק טוב (כי זה הרי לא באמת רנדום, אלא פסאודו-רנדום).

matteo, מאיפה החלטת שהפונקציות המובנות נותנות תמיד את אותם המספרים? כל עוד דואגים לקרוא ל-srand בדיוק פעם אחת בתחילת התכנית, לא אמורה להיות בעיה.

ניסוי וטעיה

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

בכל אופן יש לזה אלפי פתרונות

פורסם

RAND פשוט עושה פונקציה מתמטית פשוטה על הערך הקודם שה RAND הקודם החזיר וחלילה וחס (סידרה של מספרים), ככה שעם לא נתת SRAND (שזה המספר הראשוני של הסדרה), או נתת SRAND עם ערך זהה לריצה קודמת, אזי תקבל את אותה סידרה של מספרים. לכן חשוב לתת SEED שמשתנה (בד"כ נותנים את השעון של המחשב שלא אמור להיות זהה אף פעם).

פורסם

RAND פשוט עושה פונקציה מתמטית פשוטה על הערך הקודם שה RAND הקודם החזיר וחלילה וחס (סידרה של מספרים), ככה שעם לא נתת SRAND (שזה המספר הראשוני של הסדרה), או נתת SRAND עם ערך זהה לריצה קודמת, אזי תקבל את אותה סידרה של מספרים. לכן חשוב לתת SEED שמשתנה (בד"כ נותנים את השעון של המחשב שלא אמור להיות זהה אף פעם).

בדיוק מה שאמרתי

ושוב הפונקציות שניתנו לעיל מעולות לפתור תבעיה זה הכל.

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.