עבור לתוכן

2 שאלות

Featured Replies

פורסם

יש לי 2 שאלות לענות בשפה C# אבל אני גם יבין אם תעזרו לי בשפות אחרות:

פתח ויישם בשלבים אלגוריתם הקולט מחרוזות עד לקליטת המחרוזת "the end" ,כל מחרוזת מכילה תת-מחרוזת המופרדות בינהן בתו '0'.

עבור כל מחרוזת יש לבנות מחרוזת חדשה כך שבכל תת-מחרוזת שלה יופיעו התווים בסדר הפוך לסדר הופעתם בתת-מחרוזת של המחרוזת

המקורית, ולהציג אותה כפלט. לדוגמא: עבור המחרוזת "b0$%y0ggf0" , תוצג כפלט המחרוזת "b0y%$0jgg0".

מעבד התמלילים "smarty" יודע לבדוק אם יש במשפט 2 מילים רצופות זהות, ולבטל אחת מהן.

כתוב פעולה המקבלת מחרוזת המכילה משפט, ומבטלת בה את כל ההופעות החוזרות ברציפות של מילה.

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

פורסם

במה אתה מתקשה ?

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

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

פורסם

omni... לא כולם כמוך

במה אתה מתקשה ?

דבר שני יש לי שאלה....מה הכוונה שלך

הולכת עד לחצי ומחליפה את תוכן האינדקסים
???

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

איך עובדת הדרך שלך?

פורסם

אפשר גם לעשות:

http://www.123aspx.com/ReadReviews.aspx?res=617

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

פורסם

הייתה כבר שאלה דומה רק עם רווחים. תחפש בפורום.

פורסם
    static string DoIt1(string input)
{
StringBuilder output = new StringBuilder();
foreach (string str in input.Split('0'))
{
char[] tmp = str.ToCharArray();
Array.Reverse(tmp);
output.Append(tmp);
output.Append('0');
}
return output.ToString();
}

static string DoIt2(string input)
{
StringBuilder output = new StringBuilder();
string last = null;
foreach (string str in input.Split(' '))
{
if (last != null && last.Equals(str))
continue;
last = str;
output.Append(str);
output.Append(' ');
}
output.Remove(output.Length-1,1);
return output.ToString();
}

ארכיון

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

דיונים חדשים