עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

בעיה בתרגיל ברקורסיה ב-c

Featured Replies

פורסם

שלום,

אני צריך לבנות קוד להדפסת קוד גריי בצורה רקורסיבית (ללא שימוש בלולאות)

מבחינת הגבלים: אסור להשתמש במשתנים סטטיים ובלולאות. מבחינת ספריות, רק stdio.

הרעיון אותו אני צריך לממש הוא:

עוברים מקוד גריי של 1-n ביטים לקוד גרי של n ביטים באופן הבא:

1. הופכים את סדר האיברים בקוד גריי של n-1 ביטים מהסוף להתחלה.

2. משרשרים את הרשימה המתקבלת מסעיף 1 אחרי הרשימה של קוד גריי של n-1 ביטים.

3. עבור החצי הראשון של איברי הרשימה שהתקבלה מסעיף 2 (האיברים הראשונים של רשימה זו) משרשרים לתחילתם את הספרה 0.

4. עבור החצי השני של איברי הרשימה שהתקבלה מסעיף 2 (האיברים האחרונים של רשימה זו) משרשרים לתחילתם את הספרה 1.

5. הרשימה שמתקבלת אחרי סעיף מספר 4 היא קוד גריי של n ביטים.

יצרתי כבר את הפונ' שמחשבת חזקה, שמייצרת את המראה של העמודה ומשרשרת אותה בהמשך המערך,

את הפונ' שמיצרת עמודה חדשה, ואת הפונ' שמדפיסה הכל.

אבל אני לא מצליח לחבר את הכל ביחד.

אשמח לעזרה בנושא (בצורה של הכוונה, רעיון אלגוריתמי טיפה יותר מפורט וכו')

פורסם
  • מחבר

טוב, הרוב עובד חוץ מהפונקציה שאמורה ליצור את השיקוף של חצי העמוה העליונה לתחתונה.

זה הקוד שלי:


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);
}
}

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.