נשלח בתאריך: 01 December 2010 בשעה 12:01 | | IP רשוּם
|
|
|
|
נתקעתי בשאלה הזו, אין לי מושג איך לכתוב את הקוד:
פרמוטציה של מערכים
מערך A נקרא פרמוטציה של מערך B אם שלושת התכונות הבאות מתקיימות:
אין ערכים שחוזרים על עצמם במערך A
מספר האיברים ב- A וב- B זהה
כל איבר שנמצא ב- A מופיע גם ב- B
לדוגמא עבור המערכים int a[] = {1,2,3,4} ו- int b[] = {2,3,4,1} , a היא פרמוטציה של b
)ולהפך(. שימו לב שהיחס סימטרי )כלומר אם a פרמוטציה של b אז גם b פרמוטציה של a ,)
על כן נהוג לומר ששני המערכים מקיימים את יחס הפרמוטציה.
חלק א:
כתבו פונקציה בעלת המפרט הבא:
int is_permutation(int array1[], int size1
int array2[], int size2);
כאשר array1 ו- array2 הם מערכים של מספרים שלמים באורך size1 ו- size2 בהתאמה.
הפונקציה תחזיר TRUE )ערך שונה מ 0- ( אם array1 ו- array2 מקיימים את יחס הפרמוטציה או
FALSE )הערך 0( אחרת.
הדרכה: ממשו את שלושת התכונות שהוגדרו בתחילת השאלה.
חלק ב:
כתבו תכנית הקולטת שני מערכים של מספרים שלמים באורך 5 מהמשתמש וקובעת האם הם
מקיימים את יחס הפרמוטציה. עליכם להשתמש בפונקציה מחלק א'.
תודה רבה!!!
|