בעיה בפונקציה שמעבירה את המילים שבשורה שלמה לתוך מחרוזות נפרדות - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


eli33

Recommended Posts

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

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

#include<iostream.h>
#include<string.h>

void enter_words(char *s,char *str[15]);

int main()
{
char ch[100];
char* arr[15];

cout<<"put mila"<<endl;
cin.getline(ch,100,'\n');
enter_words(ch,arr);

for(int i=0;i<15;i++)
{
cout<<arr[i];
}

return 0;
}


void enter_words(char *s,char *str[15])
{
int pos=0,pos_w=0,x=0;
char word[20];

while(s[pos]!='\0')
{
if(s[pos]==' ')
{
word[pos_w]='\0';
str[x]=new char[strlen(word)+1];
strcpy(str[x++],word);
pos++;
pos_w=0;
}
else
{
word[pos_w]=s[pos];
pos_w++;
pos++;
}
}
}



תודה למי שעוזר...

[attachment deleted by admin]

קישור לתוכן
שתף באתרים אחרים

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

אין לי כוח ממש להריץ ולראות מה לא בסדר אבל בתור התחלה בלולאה שאתה מדפיס 15 מילים לא בהכרח יש 15 מילים (ורוב הסיכויים שאין 15 מילים) ולכן תנסה להדפיס שם מכתובת שלא שייכת לך ולכן הוינדוס יחסום אותך.

קישור לתוכן
שתף באתרים אחרים

זאת אומרת לעשות עוד פונקציה שמחזירה לי את מספר המילים שהיא קלטה ולשים את זה במקום ה "15" בקליטה של הפונקציה ..

אבל אני זוכר שהמורה שלי אמר לי שיש כמה אפשרויות לכתיבה הזאת של מערך מחרוזות ואחד מהם זה ע"י "**" ואז נראה לי שלא יהיה את הבעיה כי אני לא מגדיר לו מראש כמה מילים יש..זה יכול לפתור את הבעיה או שלא?

קישור לתוכן
שתף באתרים אחרים

אתה יכול להשתמש בהקצאה דינאמית ולהקצות עבור כל תו חדש במילה תא נוסף בגודל char..ובסוף לשים לו null.....

זה נקרא dynamic allocation נדמה לי.....

בשפת C יש את פקודת הסיפרייה malloc שבתוך malloc.h, אבל בC++ יש מנגנון יותר טוב, שדומה לג'אווה....

אני ממליץ על חיפוש קצר בגוגל.......

קישור לתוכן
שתף באתרים אחרים

מה עשית מזה כזה סיפור

שהפונקציה enter_words תחזיר int של מספר המילים שנקלטו (x)

אבל אני צריך להשתמש במילים האלו אח"כ לבצע עליהם פעולות..

בגלל זה אמרתי שאני אעשה עוד פונקציה..

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...