שחזורי ראיונות עבודה -> שאלה מתוך ריאיון עבודה
  • שאלה מתוך ריאיון עבודה
  • ע"י: אורח74
    שלום לכולם, הייתי בריאיון בחברה וקיבלתי שאלה שלא הצלחתי לענות עליה, אשמח לתשובות. נתונה הפונקציה: funtion(int[] arr, int i, int j) { if(arr[i] > arr[j] { arr[i] = arr[i] -arr[j] } } עליך לממש פונקציה שמקבלת מערך ומחזירה את אותו מערך כך שלכל זוג אינדקסים i,j במערך התנאי לא יתקיים בפונקציה הנתונה. כלומר שאי אפשר להמשיך ולשנות את ערכי המערך. *הגישה למערך מתבצעת אך ורק באמצעות הפונקציה הנתונה.
  • ע"י: 1_אורח_כללי
    הפונקציה מקבלת מערך, ושני אינדקסים. אם מה שבמקום הi הוא גדול יותר, אז ערכו ישתנה להפרש שבין שני הערכים. קטן או שווה- נשאר ללא שינוי הם מבקשים בעצם שנשלח לפונקציה מערך באופן שיחזור אותו הדבר- ללא שינוי, כלומר לכל אורך ij שנעשה לא ישתנה דבר במערך. אם שולחים את המערך כאשר i=j אזי לא יהיה שינוי במערך כלל, כיוון שהערכים יהיו שווים אז נשלח int i=j=0; while(arr[i]){function (*arr, i++, j++);}
  • ע"י: אורח74
    ניתן דוגמה נגיד ונתון לנו המערך: 1,2,3 אנחנו צריכים להחזיר את המערך 1,1,1. הסבר: אם נסתכל על הזוג 1,3 נוכל לחסר מהאיבר 3 , את המספר 1 פעם אחת ואחר כך נוכל לעשות זאת שוב וכך בעצם 3 הפך ל-1. והמערך יראה: 1,2,1. כעת נסתכל על הזוג הנותר שאפשרי להפעיל עליו את הפונקציה 1,2. נפעיל את הפונקציה ואז ה-2 יהפך ל-1. ואז נקבל את המערך הדרוש: 1,1,1. לא משנה הסדר של האיברים שנבחר להפעיל עליהם את הפונקציה, בסופו של דבר נקבל את אותו מערך פלט..
  • ע"י: בסי
    אתה יכול להסביר ברור יותר את השאלה? מה אמור להיות במערך החדש שהפונ' תחזיר?