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

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 06-11-08, 00:43   # 16
Xinxy
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
הודעות: 259

Xinxy לא מחובר  

ציטוט:
נכתב במקור על ידי SDF צפה בהודעה
אז אין צורך בפלוס אחד,
נניח ויש לך המילה ABA,
str[0] = A
str[1] = B
str[2] = A
סה"כ מילה בת 3 אותיות, כשהאינדקס האחרון הוא 2, אתה חורג שם מהגבול.

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

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

אם לא היה ברור, הנה ההתחלה של הפונקציה לחיפוש מילה:
קוד:
int searchMatrix(char **mat, int x, int y, char * what)
{
	int length = strlen(what);
	int i, j, whatIndex = 0;
	int foundCounter = 0;
בקשר ל+ זה הגיעה איכשהו למצב שאני צריך אותו, את זה דווקא אני דיי בטוח שעשיתי נכון
ואין הדבר הזה לא נקלט לי בשכל
אני הבנתי איך למצוא את המילה הראשונה
אבל אחרי שמצאתי - מה אני אמור לעשות? עוד לולאה אני לא חושב שתעזור לי
אמ.. ואני חושב שהלולאה השלישית היא דווקא עוזרת לי כי רק באמצעותה אפשר למצוא את המילים שיש מילה שהמשתמש רשם

אהה ולא השתמשתי בstrlen בגלל שלא למדנו ואנחנו יכולים להשתמש רק בפונקציות שלמדנו

וד"א אני מודה לך על העזרה אני מעריך את זה מאוד
  Reply With Quote
 

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 03:26.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ