נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: פרמוטציות ב c

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
רינת
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 27 March 2005 בשעה 02:08 | IP רשוּם
ציטוט רינת

שלום לכם חברים,

רצתי לדעת אם מישהו יכול לעזור לי באתר או קישור לחומר עזר לגבי פרמוטציות.

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

פשוט שכחתי את הסינטקס של C

תודה רבה,

רינת

חזרה לתחילת העמוד הצג את כרטיס החבר של רינת חפש הודעות אחרות של רינת בקר בדף הבית של רינת
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 27 March 2005 בשעה 12:29 | IP רשוּם
ציטוט SBD

את יכולה בבקשה להסביר לי מה זה בדיוק פרומטציות?

__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 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 רשוּם
ציטוט SBD

אה כל הצירופים האפשרים עכשיו זה נשמע יותר טוב :)

אני גם הייתי רוצה לדעת איך עושים את זה...בעקרון אני עשיתי את זה לולאה בתוך לולאה אבל הבעיה היא שזה לא דימני ממש :(



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 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 רשוּם
ציטוט shmulik

יש איזו משוואה שעושים, תחפשי בקשר לברוט פורס.
אני אחפש את המסמך.
חזרה לתחילת העמוד הצג את כרטיס החבר של shmulik חפש הודעות אחרות של shmulik בקר בדף הבית של shmulik
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 27 March 2005 בשעה 21:12 | IP רשוּם
ציטוט SBD

עוד רעיון שחשחבתי עליו בקשר למספרים....

מן הסתם כל הצירופי האפשרים עד 10 ספרות לדוגמא זה המספרים שבין 1 עד 9999999999, אני צודק?



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 27 March 2005 בשעה 21:25 | IP רשוּם
ציטוט ניר

צודק

חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 28 March 2005 בשעה 20:42 | IP רשוּם
ציטוט SBD

OK UW אחי אז יש לי שאלה, בוא נגיד אני רוצה לבנות תוכנית קטנה שהמשתמש יבחר ספרות מסוימות [מספר] והתוכנה תיצור לו את כל הצירופים האפשרים.

 

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



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 28 March 2005 בשעה 21:23 | IP רשוּם
ציטוט ניר

אתה יכול לנסות לנסח ברור יותר את השאלה? לא הבנתי מה בדיוק אתה שואל.
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
Alias
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת
הודעות: 344
נשלח בתאריך: 28 March 2005 בשעה 23:48 | IP רשוּם
ציטוט Alias

אני הבנתי ואני אסביר.
הוא התכוון שנגיד המשתמש נתן את הספרות הבאות:
3425
עכשיו השאלה שלו היא האם אפשר להכין מהספרות האלה את המספר הכי גדול שהן יכולות ליצור והוא 5432.
ולהדפיס את המספרים מ-1 עד ל-5432.

אממ מה שאמרת לדעתי נכון אבל לא מדויק כי אתה אמור להדפיס את המספרים בהם כל הספרות מופיעות לכן תצטרך מספרים בעלי 4 ספרות(כמובן רק במקרה שהוזנו 4 ספרות). ואז תצטרך לרוץ מ-1000 עד 5432 ולהדפיס את המספרים בהם כל הספרות מופיעות.


נ.ב. הייתה שאלה על פרמוטציות באולימפידת מחשבים 2004 ופתרנו אותה בכיתה בעזרת עץ בינארי אני אשתדל למצוא את הפיתרון או את הרעיון ולהעלות לפה.
חזרה לתחילת העמוד הצג את כרטיס החבר של Alias חפש הודעות אחרות של Alias בקר בדף הבית של Alias
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 13 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 1194
נשלח בתאריך: 28 March 2005 בשעה 23:55 | IP רשוּם
ציטוט SBD

Alias כתב:
אני הבנתי ואני אסביר.
הוא התכוון שנגיד המשתמש נתן את הספרות הבאות:
3425
עכשיו השאלה שלו היא האם אפשר להכין מהספרות האלה את המספר הכי גדול שהן יכולות ליצור והוא 5432.
ולהדפיס את המספרים מ-1 עד ל-5432.

אממ מה שאמרת לדעתי נכון אבל לא מדויק כי אתה אמור להדפיס את המספרים בהם כל הספרות מופיעות לכן תצטרך מספרים בעלי 4 ספרות(כמובן רק במקרה שהוזנו 4 ספרות). ואז תצטרך לרוץ מ-1000 עד 5432 ולהדפיס את המספרים בהם כל הספרות מופיעות.

נ.ב. הייתה שאלה על פרמוטציות באולימפידת מחשבים 2004 ופתרנו אותה בכיתה בעזרת עץ בינארי אני אשתדל למצוא את הפיתרון או את הרעיון ולהעלות לפה.

 

אה צודק לא חשבתי על זה :)



__________________
~ Nobody Is Perfect, I'm Nobody ~
פורומים
חזרה לתחילת העמוד הצג את כרטיס החבר של SBD חפש הודעות אחרות של SBD בקר בדף הבית של SBD
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה