עבור לתוכן

מחפש פונק' לטיפול במערך C

Featured Replies

פורסם
  • מחבר

בכיף, תבואי כל יום :)

פורסם

for (i=0;i!='\0';i++)
{
if (str[i]!='32')
{
str1[j]=str[i];
}

}

for (j=0;j!='\0';j++)
{
cout<<str1[j];
}

זאת הכוונה?

כי זה לא עובד!!!

הכוונה שלי הייתה:

לקחת את str שזה המחרוזת העיקרית שלי ולחפש רווח שזה 32 בטבלה.

אם התו שונה מ '32' אז שים את התו הזה בstr1 שזה המחרוזת השניה וככה זה ממשיך הלאה..

ולמטה זה כדי שזה ידפיס.

לא יודעת למה זה נראה כאילו יצא לי משהו דבילי אבל נראה לי שלא ירדתי לסוף דעתך!!!

פורסם

א. תסתכלי על תנאי העצירה ב-forים שלך.

ב. הקומפיילר לא מכיר דבר כזה '32'. או שתשתמשי ב-' ' או שתשתמשי ב-32.

ג. את לא מקדמת את j בלולאה הראשונה.

פורסם

אוווףף!!

לוקח לי זמן לקלוט!

א. מה לא טוב בהם? ה- '\0'?

ב. "32" ככה? אבל הבנתי שצריך רק בגרש אחד.

ג. אני צריכה לקדם את j בלולאה הראשונה?

נדפק לי השכל כבר...

פורסם

א. תנאי העצירה שלך צריך להיות תלוי גם ב-str. איך שזה עכשיו, את בודקת מתי i עצמו הופך להיות '0\' (שזה בעצם לבדוק מתי הוא שווה ל-0).

ב. לא. גרשים בודדים מסמנים תו בודד. לדוגמה, '2', '3' או 'n\'. מרכאות מציינות מחרוזת. לדוגמה, "32" זה המחרוזת שמכילה שני תווים - '3' ואחריו '2' (ליתר דיוק, היא מכילה שלושה תווים - האחרון הוא '0\' שמציין את סוף המחרוזת). חוץ מזה, לכל תו יש גם ייצוג מספרי. לדוגמה, התו 'A' הוא 65, והתו ' ' (רווח) הוא 32. שימי לב שיש הבדל מהותי בין המספר 3 והתו '3' (שהייצוג המספרי שלו הוא בכלל 51).

ג. בלולאה הראשונה את לא מקדמת את j בכלל, מה שגורם לכך שאת תמיד כותבת לאותו מקום ב-str1. את צריכה לקדם את j בהתאם.

פורסם

פשוט להשוות ל-32? בלי סימן?כלום?

השוותי את זה ל32 וזה עושה לי הכל רק לא מצמצם רווחים.

משהו פה לא בסדר שרצתי עם f10 הבעיה הייתה פה..אני לא יודעת מה...

עריכה...

הצלחתי!!!

תודה רבה רבה רבה רבה :yelclap:

פורסם
  • מחבר

מה היתה הבעיה ואיך פתרת ?

פורסם

א. משהו בהגדרה שלי של הלולאות

ה- for היה צריך לקדם כמו שהוא אמר את str ולא את i לבד.

ב.ה32 להגדיר אותו כמו שצריך.

ו-ג.. בהדפסה ב cout להגדיר את המערך החדש.

ארכיון

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

דיונים חדשים