עבור לתוכן
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

פורסם

חברים שלום.

נניח ויש לי מערך של איברים מסוג int בגודל size.

השאלה שהוטלה עליי היא לכתוב קוד אשר מוצא במערך את המחלק הגבוהה ביותר מבין כל שני אברים במערך.

למשל אם המערך הוא 117 95 18.

אז המחלק הגבוהה הוא 9 .

בניתי כבר פונק' שנקראת gcd אשר מקבלת שתי מספרים ונותנת לי את המחלק הגבוהה מבניהם.

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

עכשיו הבעיה שלי היא כזו:

שאני מריץ את הקוד הבא הוא מחזיר לי שהמחלק הגבוהה הוא 1 .

והבעיה נעוצה בכך שהוא לא בודק את המספר 18 עם 117 ז"א איך אני גורם לו אחרי החזרה של הריקורסיה לבדוק גם את הראשון עם האחרון.

int largestgcd(int arr[],int size, int index){

int now;
if(index==size-1)
return 0;




now=gcd(arr[index],arr[index+1]);


if(now>largestgcd(arr,size,index+1))
return now;
return largestgcd(arr,size,index+1);

פורסם

הפונקצייה לא בודקת את כל האפשרויות ולא רק עבור האיבר הראשון והאחרון. הפונקצייה בודקת רק GCD בין כל 2 איברים צמודים. צריך לחשוב ולכתוב מחדשץ

ארכיון

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

דיונים חדשים

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.