עבור לתוכן

עזרה בשפת C, מערכים

Featured Replies

פורסם

הבעיה שלי היא עם האילוץ, אשמח להדרכה.

אם היה מותר להשתמש ב[], הייתי פשוט עושה לולאת for מ 0 עד הגודל פחות 1, מכניס את הערכים במקומות 0,.., size - 1 ואז עושה את ההחלפה בקלילות.

פורסם
  • מחבר

למדתי ובכל זאת לא יודע איך לגשת לשאלה הזאת

פורסם

אני חושב שבתרגיל כזה דרך טובה היא קודם לפתור בצורה הסטנדרטית (עם אופרטור האינדקס []) ואח"כ לבצע את ההתאמות הדרושות.

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

פורסם
  • מחבר

אני אעלה את מה שניסיתי לעשות, ותגיד לי מה דעתך. אוקיי?

הבעיות כעת:

1. אני לא מכיר דרך להצהיר על מערך בלי להשתמש ב []. יש דרך כזאת?

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

עריכה: עשיתי כמה שטויות. מעלה קובץ חדש

נערך על-ידי א

פורסם

1. איך היית מתמודד אם אתה לא יודע את גודל המערך מראש?

2. אתה יכול לקדם מצביעים כמו שאתה מקדם אינדקסים.

פורסם

כמו כן, שים לב שאין טעם לכתוב ((X)*)&. זה פשוט כמו לכתוב X.

פורסם
  • מחבר

מצ"ב קובץ מתוקן

QttP, תודה

שניצל,

1. המשתמש מכניס את הגודל. בתוכנית הזאת רק רציתי לבדוק את השימוש במצביעים במערך. בפתרון אני רוצה להצהיר על מערך בגודל 10, להכניס כמה מספרים שהמשתמש רוצה (כמובן עד 10), ולבצע את מה שצריך. כמובן צריך להיזהר שאם המספר הוא קטן מאפס לא לגשת לערכי זבל...

הבעיות שלי עדיין:

1. אני לא מכיר דרך להצהיר על מערך בלי להשתמש ב []. יש דרך כזאת?

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

נערך על-ידי א

פורסם

1. אין. אבל אפשר להגדיר מצביע ולהקצות מערך דינמי באמצעות פונקציות כמו malloc/calloc. למדת עליהן?

2. אפשר לקדם את המצביע עצמו. נגיד לשמור מצביע להתחלה, מצביע לסוף ולעשות ++ ו-- עליהם.

פורסם

1. מה היית עושה אם לא הייתה לך מגבלה של 10, המשתמש יכול להכניס איזה גודל שהוא רוצה?

2. כמו שאמרתי קודם - אתה יכול לקדם את המצביע עצמו. תחזור על החומר של חשבון של מצביעים.

פורסם
  • מחבר

1. הייתי משתמש ברשימה מקושרת ומוסיף חוליה לכל מספר שנקלט. חשבת על אפשרות יותר טובה?

2. בלולאה עם קידום של המצביע עצמו איך אדע מתי לעצור? בלי האילוץ הזה אני רץ מ 0 עד size - 1, אסור להשתמש באינדקס אז אני לא יודע מה לעשות.

נערך על-ידי א

פורסם

1. אוי ויי. לא למדת איך מקצים מערך דינמית?

2. באמצעות חשבון של מצביעים. אפשר להשוות בין שני מצביעים ואפשר להוסיף מספר למצביע.

פורסם
  • מחבר

1. אקרא על זה

2. לא הבנתי איך זה עוזר. אשמח להסבר נוסף או דוגמה קצרה.

פורסם

אם יש לך שני מצביעים p ו-q אז אתה יכול להשוות ביניהם, כלומר לעשות דברים כמו (if (p<q וזה משווה האם p מצביע על מקום בזכרון שנמצא לפני q. חוץ מזה אתה יכול לעשות חשבון של מצביעים - אם p מצביע לאיבר הראשון של מערך אז p+1 מצביע לאיבר השני, p+2 לאיבר השלישי וכן הלאה.

ארכיון

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

דיונים חדשים