פורסם 2007 במרץ 2118 שנים יש לי 2 שאלות לענות בשפה C# אבל אני גם יבין אם תעזרו לי בשפות אחרות:פתח ויישם בשלבים אלגוריתם הקולט מחרוזות עד לקליטת המחרוזת "the end" ,כל מחרוזת מכילה תת-מחרוזת המופרדות בינהן בתו '0'.עבור כל מחרוזת יש לבנות מחרוזת חדשה כך שבכל תת-מחרוזת שלה יופיעו התווים בסדר הפוך לסדר הופעתם בתת-מחרוזת של המחרוזתהמקורית, ולהציג אותה כפלט. לדוגמא: עבור המחרוזת "b0$%y0ggf0" , תוצג כפלט המחרוזת "b0y%$0jgg0".מעבד התמלילים "smarty" יודע לבדוק אם יש במשפט 2 מילים רצופות זהות, ולבטל אחת מהן.כתוב פעולה המקבלת מחרוזת המכילה משפט, ומבטלת בה את כל ההופעות החוזרות ברציפות של מילה.כל מילה שהופיע ברצף , תישאר פעם אחת. ידוע שבין מילה למילה מופיע התו רווח. הפעולה תחזיר את המשפט המעודכן.
פורסם 2007 במרץ 2118 שנים במה אתה מתקשה ?אפשרות לחלק הראשון, קח את המחרוזת ותעשה לה split לפי "0". תקבל מערך של מחרוזות, בכל אחד מהם תעשה פונקציה פשוטה שמחליפה את הסדר (הולכת עד לחצי ומחליפה את תוכן האינדקסים). בסוף כל אחד תחבר את זה חזרה למחרוזת אחת גדולה.אפשרות לחלק השני קח את המרחוזת ותעשה לה spilt לפי " ". תקבל מערך של מחרוזות. תתחיל לסרוק אותו, ובכל פעם, תחבר את המילה הנוכחית למחרוזת זמנית ותשמור אותה בצד. בכל איטרציה תבדוק האם המילה הנוכחית שווה למילה הזמנית, אם כן, דלג הלאה, אחרת חזור על התהליך שממקודם.
פורסם 2007 במרץ 2118 שנים omni... לא כולם כמוך במה אתה מתקשה ?דבר שני יש לי שאלה....מה הכוונה שלך הולכת עד לחצי ומחליפה את תוכן האינדקסים???אני מכיר לעשות סטרינג ריק ואז כל הזמן לשרשר לו את האות האחרונה של הסטרינג המקורי עד שהאינדקס יוצא במקום ה 0 ואז הלולאה מפסיקה....איך עובדת הדרך שלך?
פורסם 2007 במרץ 2118 שנים אפשר גם לעשות:http://www.123aspx.com/ReadReviews.aspx?res=617בכל מקרה, אתה עושה לולאה שהולכת עד לאמצע מבחינת אורך המחרוזת ומחליפה את האות הראשונה + האינדקס עם האות האחרונה - האינדקס.
פורסם 2007 במרץ 2118 שנים 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(); }
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.