
מישהי יכולה לעזור לי? (java script)
קדם ‹ Forums ‹ הייטק ‹ Web Development ‹ מישהי יכולה לעזור לי? (java script)
-
מישהי יכולה לעזור לי? (java script)
פורסם ע"י אפרת ב כללי on 19/12/2022 ב9:25 amיש לי מערך רנדומלי של 10 מקומות.
איך אני עושה שלא יהיו בו כפילויות של מספרים?
כלומר- כל מספר יכול להיות בו רק פעם אחת, ואם מוגרל אותו מספר פעם שניה אז הוא לא מכניס אותו ומגריל מיד מספר חדש?
אם מישהי יודעת- זה ממש ממש יעזור לי.
תודה מראש!!
יוכי הגיבה לפני 2 שנים, 4 חודשים 5 חברות · 10 תגובות -
10 תגובות
-
0
8
0
חברה חדשה
אולי כל פעם שהוא מגריל, לפני שהוא נכנס למערך, תשלחי לפונקציה שבודקת האם המספר נמצא במערך.
-
0
0
0
חברה חדשה
תודה!
יש מצב שאת מפרטת יותר או שיש לך קישור שיסביר לי?
אני פשוט לא כ”כ בעניין….
-
0
8
0
חברה חדשה
פונקציה כזאת(בערך, תלוי בעוד נתונים):
function checkNumber(arr, num) {
for (let i = 0; i < 10; i++) {
if (arr[i] == num)
return false;
}
return false;
}
-
-
2
8
0
חברה חדשה
הפתרון של רחל הוא בסבוכיות זמן גבוהה
אפשר גם לשמור טבלת גיבוב, ובכל פעם שרוצים להכניס מספר חדש –
לשלוח לפונקציה שבודקת האם המספר קיים בטבלת הגיבוב
אבל- כך תעלה סיבוכיות המקום.
תלוי מה הדרישה שלך בתרגיל
-
0
0
0
חברה חדשה
הנה הדרישה, אולי יהיה יותר ברור:
הגדירי מערך של 10 מקומות.
הגרילי לתוכו מספרים מ1-30
יש לשים לב שלא להגריל מספר אחד פעמיים.
ולכן במקרה והמספר החדש הוגרל כבר במערך צריך להגריל לו מספר חדש.
אני ממש לא מונחת בחומר- ולכן אשמח לתשובה מפורטת.
תודה רבה!! אין על הפורום הזה!!
-
0
0
0
חברה חדשה
אפשר להגדיר בהתחלה מערך עזר בגודל 30 שמכיל את המספרים 1-30
ואז להתחיל לרוץ בלולאה של 10:
לרנדם כל פעם מספר בטווח של 0 עד (29 פחות i) -הגודל של מערך העזר
לקחת מהמערך עזר את המספר שממוקם באינדקס שהתרנדם
ולמחוק את האיבר הזה ממערך העזר(יש כזה דבר בגאוהסקריפט?)
כך נוצר מצב שבמערך העזר יש לך את המספרים שעוד לא השתמשת
-
-
0
8
0
חברה חדשה
-
0
0
0
חברה חדשה
Log in to reply.