שאלה פשוטה ב- ++C

geladeira

New member
שאלה פשוטה ב- ++C

שאלה ב- ++C ךמדץי מזמן ואני כבר לא זוכר... איך מצהירים על מערך שאני לא יודע מה יהיה האורך שלו? תודה geladeira
 

geladeira

New member
פרוט יותר טוב של הבעיה

אני בונה סדרה לתוך מערך A כאשר בכניסה מוזן האיבר הראשון ומשם התוכנית מחשבת את שאר האיברים עד לאיבר השווה 1. הסדרה היא באמצעות נוסחאת קולץ. אין לי אפשרות לדעת מה יהיה אורך המערך מראש ולכן השאלה היא איך להכריז על A? תודה
 

vinney

Well-known member
ניסית להזכר לבד?

יש גלולה שמשפרת זכרון פלאים, קוראים לה גוגל.
 

geladeira

New member
ניסיתי

הבעיה היא שזה כנראה לא בחומר הלימוד של הקורס שלמדתי (מבוא למדעי המחשב בשפת C באו"פ) ולכן אין לי מוסג איך לפתור את הבעיה...
 

yuvalmadar

New member
ממ"ן 18 במנמ"א? ../images/Emo13.gif

(מבני נתונים ומבוא לאלגוריתמים) אני בזמנו פשוט בניתי מערך גדול מספיק (שזה, אגב, בן 119 תאים) לאחסון כל סדרה. הבנתי שיש מבני נתונים שיאפשרו טיפול במערכים כאלה - "כדוגמת CArray של MFC וכד'" אם נצטט את הרכז, אבל אין לי מושג מה זה
- אבל זה לא קריטי לקורס הזה. ליתר בטחון יהיה כדאי שתשאל את הרכז, אבל אני לא חושב שהתשובה שלו השתנתה מאז השנה שעברה.
 

vinney

Well-known member
ברגע שקלט לא ידוע

ואלגוריתם דורש מערך בהמשך, תקלוט ברשימה מקושרת, שבסוף תמיר אותה למערך. זה O של N סיבוכיות גם זמן וגם מקום, ולדעתי לא יגדיל את סיבוכיות האלגוריתם שלך, ומצד שני יתן לך מענה הולם ולא מוגבל.
 

vinney

Well-known member
זה בהחלט לא בחומר הלימוד

אבל רשימות מקושרות כן, אז למה אתה מתעקש על מערכים? ואם זה לא משהו שקשור לקורס וסתם חסר לך ידע - אז אני ממליץ על ספר טוב ב++C כדי שתוכל ללמוד ולא להסתפק בידע המועט יחסית שקיבלת בקורס. תסתכל בשאלות נפוצות בפורום שפות תכנות, יש שם המלצות לספרים, וגם קישורים להורדות של אחד חינמי.
 

yuvalmadar

New member
הייתה סיבה, אם אני לא טועה

אני לא בדיוק זוכר למה, אבל נדמה לי שהייתה סיבה לא להשתמש ברשימות מקושרות. (אני יודע כי עשיתי את זה בהתחלה ולאחר מכן שכתבתי את התוכנית כדי להחליף את הרשימות במערך) את הסיבה אני לא זוכר...
 

vinney

Well-known member
מוזר...

ברמת אלגוריתם תמיד אפשר להגיד "נקח מערך בגודל N", אבל זה הרי מעבר לינארי, וגם הקלט לינארי, אז זה לא משנה סיבוכיות אם אתה קולט לרשימה ואז ממיר למערך, או קולט ישר למערך...
 

ron369

New member
אלא אם כן, זה לא הקלט אשר מאוחסן

במערך (וזה, אכן, לא הקלט).
 
למעלה