כותב |
|
רינת אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 27 March 2005 בשעה 02:08 | | IP רשוּם
|
|
|
|
שלום לכם חברים,
רצתי לדעת אם מישהו יכול לעזור לי באתר או קישור לחומר עזר לגבי פרמוטציות.
כלומר עבור כל מערך בגודל n לחשב את כל הפרמוטציות.
פשוט שכחתי את הסינטקס של C
תודה רבה,
רינת
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 27 March 2005 בשעה 12:29 | | IP רשוּם
|
|
|
|
את יכולה בבקשה להסביר לי מה זה בדיוק פרומטציות?
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 27 March 2005 בשעה 13:05 | | IP רשוּם
|
|
|
|
התמרות.
למשל עבור המערך 1 2 3 פרמוטציות זה כל הצירופים
1 2 3
1 3 2
2 3 1
2 1 3
3 1 2
3 2 1
הרעיון בגדול הוא שימוש ב-backtracking
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 27 March 2005 בשעה 14:34 | | IP רשוּם
|
|
|
|
אה כל הצירופים האפשרים עכשיו זה נשמע יותר טוב :)
אני גם הייתי רוצה לדעת איך עושים את זה...בעקרון אני עשיתי את זה לולאה בתוך לולאה אבל הבעיה היא שזה לא דימני ממש :(
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 27 March 2005 בשעה 15:26 | | IP רשוּם
|
|
|
|
שתי דרכים - אחת לא רקורסיבית: שים בלולאה את כל הצירופים האפשריים של מספרים בין 1 ל-N (כולל אלו שמופיעים יותר מפעם אחת), בדוק כל פעם אם המערך מכיל רק מספר אחד מכל סוג, ואם כן - תדפיס אותו בתור תוצאה ותמשיך הלאה.
דרך שניה היא לעשות משהו דומה באמצעות back tracking. אני לא רוצה להתחיל להכנס לקוד מדויק אם אין צורך - זה לא מאוד קצר (80 שורות בערך)
|
חזרה לתחילת העמוד |
|
|
רינת אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 27 March 2005 בשעה 16:30 | | IP רשוּם
|
|
|
|
קודם כל תודה רבה לכם על העזרה.
אני מחפשת מימוש לא רקורסיבי, האם יש איזשהו מיון שעוזר לי לבצע את כל הפרמוטציות בסדר לקסיקוגרפי.
אולי RADIX SORT?
או INSERTION SORT?
מישהו יודע אולי?
שוב המון תודה
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 27 March 2005 בשעה 16:58 | | IP רשוּם
|
|
|
|
מיונים לא יעזרו לך כאן - את צריכה איטרציה על כל האפשרויות, לא מיון.
נסי לחשוב על הרעיון הבא: תניחי שכל תא במערך הוא בעצם מספר בבסיס N. תבני תוכנית שתנסה לבנות את כל המילים בשפה מעל N, כאשר כל אות בתא אחר. עבור כל מילה כזו - תבדקי אם כל אות מופיעה פעם אחת בדיוק. אם כן, ניתן להציג את המילה.
הלולאה המרכזית שלך כל פעם תקדם אותך אל המילה הבאה בשפה.
עוזר?
|
חזרה לתחילת העמוד |
|
|
shmulik אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 27 March 2005 בשעה 19:21 | | IP רשוּם
|
|
|
|
יש איזו משוואה שעושים, תחפשי בקשר לברוט פורס.
אני אחפש את המסמך.
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 27 March 2005 בשעה 21:12 | | IP רשוּם
|
|
|
|
עוד רעיון שחשחבתי עליו בקשר למספרים....
מן הסתם כל הצירופי האפשרים עד 10 ספרות לדוגמא זה המספרים שבין 1 עד 9999999999, אני צודק?
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 27 March 2005 בשעה 21:25 | | IP רשוּם
|
|
|
|
צודק
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 28 March 2005 בשעה 20:42 | | IP רשוּם
|
|
|
|
OK UW אחי אז יש לי שאלה, בוא נגיד אני רוצה לבנות תוכנית קטנה שהמשתמש יבחר ספרות מסוימות [מספר] והתוכנה תיצור לו את כל הצירופים האפשרים.
אז בעצם אני צריך להרכיב מהספרות שהוא הכניס את המספר הגבוהה ביותר ואז להדפיס את 1 עד אותו מספר, צודק גם?
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 28 March 2005 בשעה 21:23 | | IP רשוּם
|
|
|
|
אתה יכול לנסות לנסח ברור יותר את השאלה? לא הבנתי מה בדיוק אתה שואל.
|
חזרה לתחילת העמוד |
|
|
Alias משתמש חבר
הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת הודעות: 344
|
נשלח בתאריך: 28 March 2005 בשעה 23:48 | | IP רשוּם
|
|
|
|
אני הבנתי ואני אסביר.
הוא התכוון שנגיד המשתמש נתן את הספרות הבאות:
3425
עכשיו השאלה שלו היא האם אפשר להכין מהספרות האלה את המספר הכי גדול שהן יכולות ליצור והוא 5432.
ולהדפיס את המספרים מ-1 עד ל-5432.
אממ מה שאמרת לדעתי נכון אבל לא מדויק כי אתה אמור להדפיס את המספרים בהם כל הספרות מופיעות לכן תצטרך מספרים בעלי 4 ספרות(כמובן רק במקרה שהוזנו 4 ספרות). ואז תצטרך לרוץ מ-1000 עד 5432 ולהדפיס את המספרים בהם כל הספרות מופיעות.
נ.ב. הייתה שאלה על פרמוטציות באולימפידת מחשבים 2004 ופתרנו אותה בכיתה בעזרת עץ בינארי אני אשתדל למצוא את הפיתרון או את הרעיון ולהעלות לפה.
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 28 March 2005 בשעה 23:55 | | IP רשוּם
|
|
|
|
Alias כתב:
אני הבנתי ואני אסביר. הוא התכוון שנגיד המשתמש נתן את הספרות הבאות: 3425 עכשיו השאלה שלו היא האם אפשר להכין מהספרות האלה את המספר הכי גדול שהן יכולות ליצור והוא 5432. ולהדפיס את המספרים מ-1 עד ל-5432.
אממ מה שאמרת לדעתי נכון אבל לא מדויק כי אתה אמור להדפיס את המספרים בהם כל הספרות מופיעות לכן תצטרך מספרים בעלי 4 ספרות(כמובן רק במקרה שהוזנו 4 ספרות). ואז תצטרך לרוץ מ-1000 עד 5432 ולהדפיס את המספרים בהם כל הספרות מופיעות.
נ.ב. הייתה שאלה על פרמוטציות באולימפידת מחשבים 2004 ופתרנו אותה בכיתה בעזרת עץ בינארי אני אשתדל למצוא את הפיתרון או את הרעיון ולהעלות לפה. |
|
|
אה צודק לא חשבתי על זה :)
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|