פורסם 2006 בינואר 1319 שנים עכשיו אני -מה?!אולי תגדיל את זה עוד קצתכל כך נותן חשק לנסות לעזור פה לאנשיםאני ממליץ לך בחום להתבגר ודחוף
פורסם 2006 בינואר 1319 שנים למען האמת, אני חושב שהזמן לשתוק הגיע בערך לפני 7 תגובות, אבל אני מניח שעוד לא מאוחר.במקום להמשיך לזרוק בוץ, אני אסביר מה הרגיז אותי, ומבחינתי מיציתי את הנושא.הסיבה שאני לא עונה כאן לשאלות בנושאים כמו PHP, ASP, Perl ועוד (לא מעט) נושאים היא שאין לי מושג ירוק בהם.הייתי מצפה להתנהגות דומה מאנשים אחרים. (ומה שאמרת לגבי "להוסיף פונקציית eval ל- C++" בהחלט מעיד על חוסר הבנה בסיסי).
פורסם 2006 בינואר 1319 שנים זה שטויות במיץ כי יש המון חפיפה בין שפות התיכנות ולכן גם מי שלא מתעסק עם C++ לעיתים ליכול לעזור בשאלות בנושא.עכשיו נזכרתי ש-eval היא פונקציה של שפות סקריפט בלבד ובאמת לא מתאימה לשפות כמו C++.מה שהייתי מצפה ממך זה לתת את ההסבר שנתתי שורה למעלה ^^ במקום להרים את האף ולהתנצח.
פורסם 2006 בינואר 1519 שנים למען האמת, קיימת אפשרות להשתמש בדמוי מערך, שהוא דינאמי. זאת באמצעות מה שנקרא Operator-Overriding ב-C++.בעצם, אין לו צורך ליצור כזה במיוחד, כי קיים כבר דבר דומה ב-STL (שזה Standard Template Library) בשם MAP (זה לא בדיוק מערך, אבל ישמש אותו היטב לצורך העניין).לכן, בארטון כמעט צודק... והרי קישור:http://msdn2.microsoft.com/en-us/library/s44w4h2s.aspxעריכה: דוגמה לשימוש ב-map :http://msdn2.microsoft.com/en-us/library/fe72hft9.aspxואגב, למי שלא מכיר את מושג ה-Template, אז הסינטקס:map<int, int>במקרה הזה, אומר שהאינדקס של המפה הוא מספר שלם, וגם הטיפוס שמכילה המפה הוא מספר שלם - בקיצור, זה סוג המפה שאתה צריך.
פורסם 2006 בינואר 1519 שנים אולי תנסה להגדיר מערך מאוד גדול ואז תקטין אותו לפי הצורך ? (אני לא ככ בטוח שזה אפשרי כי אני לא הכי חזק ב C++)
פורסם 2006 בינואר 1519 שנים מחבר אולי תנסה להגדיר מערך מאוד גדול ואז תקטין אותו לפי הצורך ? (אני לא ככ בטוח שזה אפשרי כי אני לא הכי חזק ב C++)זה אפשרי אך זו לא תהיה תשובה כללית לכל מערך
פורסם 2006 בינואר 1519 שנים אוקי, רק עכשיו הזדמן לי לעבור על הדיון הזה, בכל מקרה, הנה פתרון פשוט , קל, בסיבוכיות של O)N( שאמור לעבוד (צריך לבדוק מקרי קצה רק):int check (int a[], int n, int m){ int i, c = 1; for (i=0; i<n; i++) { if (a[i] == (c*c)) c++; if (c == m+1) return 1; } return 0;}
פורסם 2006 בינואר 1519 שנים גם אני לא רואה, בגלל זה בהנחות של התרגיל רשום: "ידוע שהמערך a ממוין בסדר לא יורד."
פורסם 2006 בינואר 1519 שנים מחבר אוקי, רק עכשיו הזדמן לי לעבור על הדיון הזה, בכל מקרה, הנה פתרון פשוט , קל, בסיבוכיות של O)N( שאמור לעבוד (צריך לבדוק מקרי קצה רק): int check (int a[], int n, int m){ int i, c = 1; for (i=0; i<n; i++) { if (a[i] == (c*c)) c++; if (c == m+1) return 1; } return 0;} ואני כתבתי תשובה ממש ממש ארוכה.... כנראה שאני רק בתחילת דרכי בתיכנות....
פורסם 2006 בינואר 1519 שנים אני מניח שאתה לוקח קורס בסיסי בשפת תכנות או באלגוריתמים, בכל מקרה, המטרה פה כמובן היא לא שתשתמש בכל מני כלים מסובכים (שגורמים לקוד גדול), אלה שלפני שאתה חושב על התשובה במונחים של שפה ומימוש, תחשוב מבחינה רעיונית. חשוב מאוד לשים לב להנחות יסוד כאלו כמו פה (שזה ממויין), ולחשוב על איך זה מתקשר לרעיון יותר פשוט. לרוב (אם כי תמיד יש יוצא דופן), בקורסים כאלו אם התשובה ארוכה אזי אתה לא בכיוון הנכון.
פורסם 2006 בינואר 1519 שנים גם אני לא רואה, בגלל זה בהנחות של התרגיל רשום: "ידוע שהמערך a ממוין בסדר לא יורד." אופס
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.