עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שאלה פשוטה ב-CPP

Featured Replies

פורסם

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

אני ממשיך בכל זאת להריץ את התוכנית והיא לא מפסיקה לקלוט אחרי 5 תווים. מישהו יכול לעזור לי .הנה מה שרשמתי.

char *ptr;

int i=0;

cout<<"enter string 5 letters"<<endl;

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

[ cin>>ptr[i;

פורסם

קודם כל, ערוך את ההודעה ושים את הקוד שלך בטג קוד (כפתור # למעלה) כדי שייראה נורמלי.

לגבי השאלה:

כשהגדרת את ptr, הוא למעשה לא מצביע לכלום (ליתר דיוק, הוא מצביע למקום אקראי בזכרון).

אתה צריך לעשות אחד משני דברים:

א. להשתמש במערך קבוע, ולא במצביע, כלומר:

char arr[5];

(ולקרוא לתוך arr)

ב. להקצות מערך עבור המצביע:

char *ptr;
ptr = new char[5];

(דאג לשחרר אותו בסוף עם delete)

פורסם
  • מחבר

איך אני מאתחל נגיד מערך של מצביעים אם אני רוצה לקלוט 5 מחרוזות שהמשתמש מכניס ואין לי מושג מה יהיה הגודל שלהם?

פורסם

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

2. באופן דומה ל-1 אתה יכול לשריין מקום מאד גדול בזכרון למחרוזת, נניח 500 תוים, ואחרי הקליטה לבצע realloc רק לתווים שאכן נקלטו בפועל.

את כל זה כמובן יש לבצע 5 פעמים, או כמספר המחרוזות שברצונך לקלוט

פורסם

הוא עובד ב-++C, לא C. משתמשים ב-new, לא malloc.

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

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.