Logo

רד-בורד: ארכיון

ראשי > תיכנות > עזרה במיון מערכים

02/04/2007 14:56:34 The-Chef
אני עובד עם מטלאב אבל זה על אותו עיקרון של מערכים

המשימה כזאת
לקלוט כמה מחרוזות, מעל 30

משני מחרוזות לערבב את האותיות ולקבל שני מחרוזות אחרות

אז קלטתי לכל תא את המחרוזת ובאמצעות פקודת double קיבלתי את ערכי ה ASCII (מספרי) של כל אות (כולל רווחים).


איך להמשיך אלגוריטמית מפה, די נתקע לי כיוון המחשבה.
למיין אותם אולי..?
02/04/2007 16:05:04 Ratinho
אין לך איזה סדר מסוים שאתה צריך לערבב לפיו?
04/04/2007 16:09:51 The-Chef
אין בעיה עם הערבוב, הרי אני מתחיל עם אותן 30 המחרוזות

המחרוזות נתונות מראש
המטרה היא למצוא שני מחרוזות שתואמות עם האותיות שלהן (שאלו תאים במערך) לשני מחרוזות אחרות
04/04/2007 16:32:10 Ratinho
אה, תעשה מערך mone בגודל התווים (256)
וכל פעם שיש לך אות תעשה משהו כזה:
קוד:
arr[mystring]++;

ואז תסרוק את כל המחרוזת ואם יש תווים שווים מחסרים 1 מהמערך, ואז אם בסוף זה המערך מאופס, הם זהות
עכשיו, תחשוב על מה שאמרתי, זה טיפה לא מובן...
04/04/2007 21:38:43 The-Chef
לא הבנתי את מילות הקישור במשפט השני:
"ואז אם"

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

דוגמה למה שהתכוונתי:
נניח ואלו המחרוזות שלי

narf
zort
snoor
tran
troz
fran

המטרה היא למצוא את שני מחרוזות שאם מערבבים את האותיות שלהן מקבלים שתי מחרוזות אחרות.

במטלאב אני מזין כל מחרוזת לתוך תא במערך.
אופציה להקל על העבודה היא להפוך את האותיות לערכן המספרי ב ASCII.
[ההודעה נערכה על-ידי The-Chef ב-04/04/2007 21:40:29]
05/04/2007 11:23:08 Ratinho
שנייה, אתה לא יכול במטלאב כמו בC, נגיד יש לך מחרוזת
קוד:
str="i am fat fish"


אז לעשות
קוד:
str[3]=’b’

אם אתה יכול אז פשוט תעשה את מה שאמרתי, אם לא - לא יודע
עמודים: 1