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

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

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


הצטרף / הצטרפה: 25 January 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 30
נשלח בתאריך: 25 January 2007 בשעה 22:04 | IP רשוּם
ציטוט yigael_o

היי, מישהו יכול לתת לי קוד ב C או C++ או פסבדו קוד לפונקציה שנותנת את כל הפרמוטציות לSTRING נתון?
לדוגמה:
ABC
ABC ACB BAC BCA CAB CBA
וזה תופס גם במידה ויש AAB
ואז התשובה אמורה להיות:
AAB ABA AAB ABA BAA BAA
(כאילו למרות שזו אותה אות כל A נחשבת שונה)
חזרה לתחילת העמוד הצג את כרטיס החבר של yigael_o חפש הודעות אחרות של yigael_o
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 25 January 2007 בשעה 23:24 | IP רשוּם
ציטוט shoshan

אתה שומר מערך גלובאלי של בוליאנים באורף של המחרוזת הראשונית
פונקציה רקורסיבית R מקבלת מחרוזת ואם היא באורך של המחרוזת המקורית מדפיסה אותה,
אם לא אז היא עוברת על כל איבר במערך הבוליאני ואם הוא אמת:
    שמה בו שקר
    קוראת ל-R (באופן רקורסיבי) עם השרשוב של המחרוזת עד עכשיו ושל האות במחרוזת המקורית באינדקס שבודקים כרגע
    שמה באיבר שוב אמת


לפתור בלי רקורסיה נראה לי קצת יותר מסובך...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
SBD
פורומיסט על
פורומיסט על
סמל אישי

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

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

קוד:

static Stack<int[]> getOptions(int[] vals, int places)
{
    return getOptions(vals, places, "");
}

static Stack<int[]> getOptions(int[] vals, int places, string sub)
{
    Stack<int[]> res = new Stack<int[]>();

    if (places >0)
        if (places == 1)
        {
            sub = sub.Substring(0, sub.Length - 1);
            string[] tmp = sub.Split(',');
            int[] tmp1 = new int[tmp.Length + 1];

            for (int i = 0; i < tmp.Length; i++)
                tmp1 = Convert.ToInt32(tmp);

            foreach (int val in vals)
            {
                tmp1[tmp1.Length - 1] = val;
                res.Push((int[])tmp1.Clone());
            }
        }
        else
            foreach (int val in vals)
                foreach (int[] element in getOptions(trimElement(ref vals, val), places - 1, sub + val + ","))
                    res.Push(element);

    return res;
}



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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 21 February 2007 בשעה 03:44 | IP רשוּם
ציטוט עומר

מסובך מידי מה שכתבת ... גם לא הבנתי את כל הסוגריים השפיצים האלה ...

אשמח אם תכתוב את זה בסי שארפ רגיל וקריא

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 21 February 2007 בשעה 09:36 | IP רשוּם
ציטוט סוגריים ושפיצים

לא להיות עלובים,

זה נקרא ג'נריקס

דונט בי גיי

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

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

עומר כתב:

מסובך מידי מה שכתבת ... גם לא הבנתי את כל הסוגריים השפיצים האלה ...

אשמח אם תכתוב את זה בסי שארפ רגיל וקריא



אבל זה ב-C#


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

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

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

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