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

נושא: שאלה קטנה במדמח למומחי הפורום

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 09 May 2008 בשעה 16:42 | IP רשוּם
ציטוט שיקה

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

יש לממש את הפתרון בעזרת רקורסיה בלבד ללא לולאות.

אין למיין אמנם ניתן לשנות סדרם של איברים.

סיבוכיות ריצה\מקום לא רלוונטים.

מה שאני מבקש יהיה קצת מוזר, ויופנה למומחי הפורום:

בהינתן הפתרון המוצע שלי אבקש שתדרגו אותו עם ציון מ1-100:

קוד:
          public static boolean isExist(int[] a, int val, int i, int place)
    {
        if(i==a.length)
            return false;
        if(val==a)
            {
                int tmp=a;
                a=a[place];
                a[place]=tmp;
                return true;
            }
        else return isExist(a, val, i+1, place);
    }
   
    public static boolean isM(int[] a, int[] b, int i)
    {
        if(i==b.length)
            return true;
        if(!isExist(a, b, i, i))
            return false;
        return isM(a, b, i+1);
    }

מה שבעצם ראיתם עכשיו זה הפתרון שלי לתרגיל- פשוט-

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

שימו לב שסיבוכיות לא חשובה כאן.

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 10 May 2008 בשעה 00:18 | IP רשוּם
ציטוט :!

לא הבנתי בדיוק מה התרגיל אבל רק מלהסתכל על זה אני רואה משהו מוזר :
קוד:

if(val==a)

לפי מה שהבנתי השפה היא C# ולכן :
לפי כותרת הפעולה isExist a הוא מערך של מספרים ו val הוא מספר , אתה לא יכול להשוות בין מערך למספר שלם אולי התכוונת לזה :
קוד:

if (val == a[i])


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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 10 May 2008 בשעה 02:41 | IP רשוּם
ציטוט שיקה

איכשהו נמחקו כל הסוגריים המרובעים ומה שבתוכם מהקוד.

הקוד הוא בJAVA

 

          public static boolean isExist(int[] a, int val, int i, int place)
    {
        if(i==a.length)
            return false;
        if(val==a)
            {
                int tmp=a;
                a=a[place];
                a[place]=tmp;
                return true;
            }
        else return isExist(a, val, i+1, place);
    }
   
    public static boolean isM(int[] a, int[] b, int i)
    {
        if(i==b.length)
            return true;
        if(!isExist(a, b, i, i))
            return false;
        return isM(a, b, i+1);
    }

 

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


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 10 May 2008 בשעה 02:50 | IP רשוּם
ציטוט שיקה

זה לא מציג את הקוד כמו שצריך.

בקיצור, זה הקוד:

http://www.siz.co.il/up.php?file=wmimnodm3m4y.jpg

 

מי שרוצה, יכול לדרג אותו מ1-100

 

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

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

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

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