עבור לתוכן

שפת C++ מערכים בפויינטרים

Featured Replies

פורסם

שלום!

מישהו יכול לעזור לי בתוכנית קצרה:

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

תודה,

מושיקו.

פורסם

קודם כל, שנה את הכותרת שתכיל קצת יותר פרטים.

חוץ מזה, אף אחד לא יפתור לך את התרגיל.

תגיד מה אתה יודע, מה ניסית לעשות, ונעזור לך משם.

פורסם
  • מחבר

קודם כל, אני רוצה לקלוט מערך בעזרת פויינטר:

int *arr;

for(int i=0;i<5;i++)

cin>>&(arr+i*4);

האם ARR* נחשב לפויינטר על מערך?

אני יודע שהשורה האחרונה לא טובה. היא זושאמורה לקלוט מספרINT כל פעם לתא הזכרון הבא.

פורסם

כמו שאמרתי לך בת'רד אחר, תשתמש בטג קוד על מנת שהקוד שלך יהיה קריא.

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

int* arr = new int[5];

(אתה מוזמן להחליף את 5 בגודל המערך שאתה רוצה)

2. אתה לא צריך לכפול את i ב-4. כשאתה עושה arr+i אז הקומפיילר יודע בכמה צריך להגדיל את arr באמת (גודל של int אחד).

3. האופרטור & עושה ההיפך ממה שאתה רוצה. אתה צריך את האופרטור *. חוץ מזה, אתה יכול פשוט לעשות [cin >> arr[i (זה שקול).

ארכיון

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

דיונים חדשים