נשלח בתאריך: 01 August 2007 בשעה 18:06 | | IP רשוּם
|
|
|
|
docsworld זה ממש פשוט.
ואלצ'קו - מה אתה מסבך אותו??...
אתה קולט משתנה מהמשתמש בשם N (מסוג מספר שלם, כמובן) ובנוסף אתה יוצר משתנה של תו בודד (char) - ורק בשביל ההמחשה נקרא לו בשם X.
ובתוך לולאת for שרצה N פעמים (לפי מספר התווים שצריך להזיז) אתה רושם קוד כזה:
העתק את התו האחרון של המחרוזת לתוך X.
כעת אתה פותח לולאה שנייה שיכולה להיות לולאת for או לולאת while לבחירתך. נניח שאורך הלולאה הוא Y תווים, אז הלולאה תעשה את הפעולה הבאה:
1) העתק את המיקום האחד-לפני-האחרון במחרוזת (Y-1) למיקום האחרון (Y)
2) העתק את המיקום השני-לפני-האחרון במחרוזת (Y-2) למיקום האחד-לפני-האחרון (Y-1)
3) העתק את המיקום השלישי-לפני-האחרון במחרוזת (Y-3) למיקום השני-לפני האחרון (Y-2)
וכן הלאה, עד שהעברת את כל התווים במחרוזת מיקום אחד ימינה.
*פה הלולאה השנייה תסתיים ונצא ממנה, אך עדיין נהיה בתוך לולאת ה-for הראשונה.
ואז תכתוב את הפקודה הפשוטה: העתק למיקום הראשון במחרוזת את התו השמור ב-X.
*ופה תסתיים לולאת ה-for הראשונה. ושוב אותו תהליך בדיוק יקרה (N פעמים).
:)
זהו.
אם לא הבנת משהו - תשאל! אני אשמח לענות.
|