mritay פורסם 2012 בדצמבר 15 Share פורסם 2012 בדצמבר 15 שלום,אני צריך לבנות קוד להדפסת קוד גריי בצורה רקורסיבית (ללא שימוש בלולאות)מבחינת הגבלים: אסור להשתמש במשתנים סטטיים ובלולאות. מבחינת ספריות, רק stdio.הרעיון אותו אני צריך לממש הוא:עוברים מקוד גריי של 1-n ביטים לקוד גרי של n ביטים באופן הבא:1. הופכים את סדר האיברים בקוד גריי של n-1 ביטים מהסוף להתחלה.2. משרשרים את הרשימה המתקבלת מסעיף 1 אחרי הרשימה של קוד גריי של n-1 ביטים.3. עבור החצי הראשון של איברי הרשימה שהתקבלה מסעיף 2 (האיברים הראשונים של רשימה זו) משרשרים לתחילתם את הספרה 0.4. עבור החצי השני של איברי הרשימה שהתקבלה מסעיף 2 (האיברים האחרונים של רשימה זו) משרשרים לתחילתם את הספרה 1.5. הרשימה שמתקבלת אחרי סעיף מספר 4 היא קוד גריי של n ביטים.יצרתי כבר את הפונ' שמחשבת חזקה, שמייצרת את המראה של העמודה ומשרשרת אותה בהמשך המערך,את הפונ' שמיצרת עמודה חדשה, ואת הפונ' שמדפיסה הכל.אבל אני לא מצליח לחבר את הכל ביחד.אשמח לעזרה בנושא (בצורה של הכוונה, רעיון אלגוריתמי טיפה יותר מפורט וכו') קישור לתוכן שתף באתרים אחרים More sharing options...
mritay פורסם 2012 בדצמבר 15 מחבר Share פורסם 2012 בדצמבר 15 טוב, הרוב עובד חוץ מהפונקציה שאמורה ליצור את השיקוף של חצי העמוה העליונה לתחתונה.זה הקוד שלי:void mirror_col (int arr[][10], int n, int c, int i){/* gets a matrix column, size and index, and makes a mirror image of it's columns in the same matrix column */ if (n>i) { arr[n-1][c]=arr[i][c]; mirror_col(arr,n-1,c,i+1); }}void mirror (int arr[][10], int n, int i){/* gets a matrix column, size and index, and makes a mirror image of it's columns in the same matrix column */ int c=0; i=0; if (c<n) { mirror(arr,n-1,i+1); mirror_col(arr,n,c+1,i); }} קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.