קבוצה ה'
האם אתה רוצה להגיב להודעה זו? אנא הירשם לפורום בכמה לחיצות או התחבר כדי להמשיך.

שאלה 7 , פאקינג שאלה ....

4 posters

Go down

שאלה 7 , פאקינג שאלה .... Empty שאלה 7 , פאקינג שאלה ....

הודעה על ידי shayohayon Sun Nov 30, 2008 8:18 pm

למישהו יש רעיון יעיל איך לעשות את שאלה 7? Evil or Very Mad

shayohayon
לפלף מזדמן

מספר הודעות : 17
Join date : 25.11.08

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty Re: שאלה 7 , פאקינג שאלה ....

הודעה על ידי ZachBeni Sun Nov 30, 2008 8:28 pm

שיי
סעיף א' לא נורא. אבל סעיף ב' יותר רציני.
שים לב לשלוש השגיאות הפשריות בקלט:
1. התו שנקלט הוא לא תו חוקי מ"השפה הרומית הבסיסית".
2. התו הוא סיפרה שגדולה מהסיפרה הקודמת = לא סידרה יורדת חלש.
3. התו הוא סיפרה שחזרה יותר ממה שמותר לה (פעם אחת\4 פעמים לכל היותר).

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

הלולאת וואיל תמשך כל עוד לא היה לי ארור מהתו הקודם וגם התו הקודם לא היה אנטר ('n\').

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

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

אלה הקווים הכלליים לכתיבת האלגוריתם. בהצלחה!
ZachBeni
ZachBeni
חפרן

מספר הודעות : 76
Join date : 28.11.08
Age : 39

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty עד עכשיו

הודעה על ידי Tzachi Benozio Sun Nov 30, 2008 9:43 pm

פתרתי רק את סעיף א'.
אמנם עם כמה IF'ים אבל פתרתי.

עכשיו נשארתי לייפות את זה ל-switch ו-case'ים
Tzachi Benozio
Tzachi Benozio
חנבצ'

מספר הודעות : 32
Join date : 26.11.08
Age : 39

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty Re: שאלה 7 , פאקינג שאלה ....

הודעה על ידי shayohayon Sun Nov 30, 2008 10:11 pm

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

shayohayon
לפלף מזדמן

מספר הודעות : 17
Join date : 25.11.08

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty Re: שאלה 7 , פאקינג שאלה ....

הודעה על ידי shayohayon Sun Nov 30, 2008 10:12 pm

סכימה של התוכנית

while (num>0)
{


for()
switch ()
{

}


if ()
;
else
;

}
[left]

shayohayon
לפלף מזדמן

מספר הודעות : 17
Join date : 25.11.08

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty Re: שאלה 7 , פאקינג שאלה ....

הודעה על ידי shayohayon Sun Nov 30, 2008 10:13 pm

while (num>0)
{


for(לרוץ מ-1 עד מספר הסיפרה)
switch (סיפרה)
{

}

// בדיקה עבור חלוקה ב-2 או 5
if ()
;
else
;

}

shayohayon
לפלף מזדמן

מספר הודעות : 17
Join date : 25.11.08

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty Re: שאלה 7 , פאקינג שאלה ....

הודעה על ידי Tzachi Benozio Sun Nov 30, 2008 10:15 pm

זה לסעיף א' או ב'?
Tzachi Benozio
Tzachi Benozio
חנבצ'

מספר הודעות : 32
Join date : 26.11.08
Age : 39

חזרה למעלה Go down

שאלה 7 , פאקינג שאלה .... Empty שי את האמת אצלך זה נראה קצר...

הודעה על ידי chenmesika Tue Dec 02, 2008 11:52 pm

אצלי זה יצא די ארוך..
סעיף א' ככה ככה, סעיף ב' די ארוך

אני קולט char עם cin.get ואז נכנס ללולאת while (char != '\n')l "כל עוד הצ'אר שלך שונה מ"אנטר""
ואז עשיתי תנאי של if שמחייב אותו להיות M או D או C או L..... ואז הוא נכנס ל switch עם כל המקרים שסופרים לך את האותיות הרומיות.
אחרי זה זה כבר יותר פשוט. ברגע שיש לך מונה של כל אות רומית אתה יודע כמה פעמים היא הודפסה ואתה יכול לחשב את המספר הסופי.

זה באמת שאלה קצת קקה אבל שים לב למשהו חשוב מאד!
צריך לטפל בארורים!

אבל מעבר לכל הארורים צריך להתחשב בארור של מה קורה אם היוזר מכניס לך קלט לא קשור לאותיות רומיות.
משהו כמו מספרים, או אותיות כמו kljsa כאלה... או @#$@#

אם היוזר מכניס כאלה צריך להיות ארור

chenmesika
חפרן טורבו!

מספר הודעות : 107
Join date : 25.11.08

חזרה למעלה Go down

חזרה למעלה

- Similar topics

 
Permissions in this forum:
אתה לא יכול להגיב לנושאים בפורום זה