פורסם 2020 בנובמבר 285 שנים היי חבר'ה יש לי שאלה בפונקציות שאני צריך לקלוט מערך בין N תאים (N=6ׂ) ולבדוק אם יש ערך במערך שהוא מחלק את כל התאים משמאל שלו וכל התאים מימנו מתחלקים בו אם יש תא כזה הפלט צריך להיות מספר התא הראשון (כאשר יש כמה תאים אז התא הראשון) אם אין אז הפלט יהיה -1. זה הקוד שכתבתי ומשום מה הפלט ריק..אשמח לעזרה מה הבעיה בקוד הזה //------include section------- #include <iostream> #include <cstdlib> //------std section------- using std:: cin; using std:: cout; using std:: endl; //------const section const int N = 6; // The size you want to set //---prtotypes section---- void read_data (int arr[]); int divide_left(int arr[]); int divide_right (int arr[]); void happend(int arr[]); /////-----Main------- int main() { int arr[N]; read_data(arr); happend(arr); return EXIT_SUCCESS ; } void read_data(int arr[]) { for(int i = 0; i < N; i++) cin >> arr[i]; } int divide_left(int arr[]) { int divide_l = arr[0]; for(int i = 1 ; i < N; i--) { if((arr[i] % arr[i-1]) == 0) { divide_l = i; } } return divide_l; } int divide_right (int arr[]) { int divide_r = arr[0]; for(int i = 1; i < N ; i++) { if ((arr [i + 1] % arr [i]) == 0) { divide_r = i; } } return divide_r; } void happend(int arr[]) { int divide_l = divide_left(arr); int divide_r = divide_right (arr); if(divide_l == divide_r) cout << divide_l; else cout << " -1"; } שוב המון תודה לכולם!
פורסם 2020 בנובמבר 285 שנים לא יודע אם יש עוד בעיות, אבל זו בפירוש שגיאה: for(int i = 1 ; i < N; i--) או שהולכים מהתחלה לסוף עם I++ או מהסוף להתחלה עם I--. כרגע זה מתחיל מ1 ויורד למספרים שליליים מה שיוצר לולאה כמעט אינסופית.
פורסם 2020 בנובמבר 285 שנים מחבר ציטוט של QttP לא יודע אם יש עוד בעיות, אבל זו בפירוש שגיאה: for(int i = 1 ; i < N; i--) או שהולכים מהתחלה לסוף עם I++ או מהסוף להתחלה עם I--. כרגע זה מתחיל מ1 ויורד למספרים שליליים מה שיוצר לולאה כמעט אינסופית. קודם כל תודה רבה שיניתי שיתחיל מ - N -1 ואז יירד אבל עדיין זה לא מדפיס כלום, אשמח להכוונה קטנה נוספת למי שיכול. תודה נערך 2020 בנובמבר 285 שנים על-ידי BAR_PC
פורסם 2020 בנובמבר 285 שנים ציטוט של BAR_PC קודם כל תודה רבה שיניתי שיתחיל מ - N -1 ואז יירד אבל עדיין זה לא מדפיס כלום, אשמח להכוונה קטנה נוספת למי שיכול. תודה לא עברתי על שאר הקוד, אבל האם שינית גם את ה"i קטן מN" ל"i גדול שווה ל0"?
פורסם 2020 בנובמבר 295 שנים מחבר ציטוט של af db creid לא עברתי על שאר הקוד, אבל האם שינית גם את ה"i קטן מN" ל"i גדול שווה ל0"? כן, אשמח לעזרה מדוע הפלט ריק, תודה
פורסם 2020 בנובמבר 295 שנים מחבר ציטוט של etal ניסית לעקוב עם debugger? אני עובד עם eclipse והאמת שהסתבכתי עם השימוש בדיבגר..
פורסם 2020 בנובמבר 295 שנים מה הקלט שאתה מזין? בנוסף, האם התוכנית נעצרת ולא מדפיס כלום או נתקעת? נערך 2020 בנובמבר 295 שנים על-ידי af db creid
פורסם 2020 בנובמבר 295 שנים מחבר ציטוט של af db creid מה הקלט שאתה מזין? בנוסף, האם התוכנית נעצרת ולא מדפיס כלום או נתקעת? הקלט 15 20 30 60 120 180 והתוכנית מדפיסה -1 במקום את הערך של התא זה הקוד: //------include section------- #include <iostream> #include <cstdlib> //------std section------- using std:: cin; using std:: cout; using std:: endl; //------const section const int N = 6; // The size you want to set //---prtotypes section---- void read_data (int arr[]); int divide_left(int arr[]); int divide_right (int arr[]); void happend(int arr[]); /////-----Main------- int main() { int arr[N]; read_data(arr); happend(arr); return EXIT_SUCCESS ; } void read_data(int arr[]) { for(int i = 0; i < N; i++) cin >> arr[i]; } int divide_left(int arr[]) { int divide_l = arr[N]; for(int i = N -1 ; i >= 0; i--) { if((arr[i] % arr[i-1]) == 0) { divide_l = i; return divide_l; } } //return divide_l; } int divide_right (int arr[]) { int divide_r = arr[0]; for(int i = 1; i < N ; i++) { if ((arr [i + 1] % arr [i]) == 0) { divide_r = i; return divide_r; } } //return divide_r; } void happend(int arr[]) { int divide_l = divide_left(arr); int divide_r = divide_right (arr); if(divide_l == divide_r) cout << divide_l; else cout << "-1"; } נערך 2020 בנובמבר 295 שנים על-ידי BAR_PC
פורסם 2020 בנובמבר 295 שנים לי מדפיס -1. לא מצליח לשחזר. נערך 2020 בנובמבר 295 שנים על-ידי af db creid
פורסם 2020 בנובמבר 295 שנים מחבר ציטוט של af db creid לי מדפיס -1. לא מצליח לשחזר. כן בידיוק שלחתי את הקוד וזה מדפיס לי גם-1 אבל זה אמור להדפיס 3 את התא 3 שזה 60, אתה יודע למה? תודה רבה
פורסם 2020 בנובמבר 295 שנים מחבר ציטוט של af db creid יש בקוד הרבה בעיות תן לי שנייה... חחח מצטער ממש אחי אבל המון תודה
פורסם 2020 בנובמבר 295 שנים רק רגע - ציטוט של BAR_PC שהוא מחלק את כל התאים משמאל שלו וכל התאים מימנו מתחלקים בו כלומר כל התאים במערך מתחלקים בו? כי "הוא מחלק את X" ו"X מתחלק בו" די זהה. נערך 2020 בנובמבר 295 שנים על-ידי af db creid
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.