שאלה 7 , פאקינג שאלה ....
4 posters
עמוד 1 מתוך 1
שאלה 7 , פאקינג שאלה ....
למישהו יש רעיון יעיל איך לעשות את שאלה 7?
shayohayon- לפלף מזדמן
- מספר הודעות : 17
Join date : 25.11.08
Re: שאלה 7 , פאקינג שאלה ....
שיי
סעיף א' לא נורא. אבל סעיף ב' יותר רציני.
שים לב לשלוש השגיאות הפשריות בקלט:
1. התו שנקלט הוא לא תו חוקי מ"השפה הרומית הבסיסית".
2. התו הוא סיפרה שגדולה מהסיפרה הקודמת = לא סידרה יורדת חלש.
3. התו הוא סיפרה שחזרה יותר ממה שמותר לה (פעם אחת\4 פעמים לכל היותר).
אני השתמשתי לטיפול במקרים האלה במשתנים בוליינים שמקבלים "שקר" במקרה של שגיאה, ובסוף הלולאה (אבל בתוכה) אני בודק האם אחד מהם "שקר" ובהתאם אליו אני שולח הודעת ארור.
הלולאת וואיל תמשך כל עוד לא היה לי ארור מהתו הקודם וגם התו הקודם לא היה אנטר ('n\').
כדי להשוות לתו הקודם אתה חייב להגדיר משתנה ששומר את התו הקודם, ומתעדכן בסוף הלולאה, ומיד אחרי יתעדכן התו הבא בעזרת פקודת cin.get
כמובן שבמהלך הריצה תצטרך להשתמש במונה שיספור את מספר ההופעות של התו הנוכחי כדי למנוע חריגה, ועדיף להשתמש ב switch כדי לעבור על כל אפשרות של קלט.
אלה הקווים הכלליים לכתיבת האלגוריתם. בהצלחה!
סעיף א' לא נורא. אבל סעיף ב' יותר רציני.
שים לב לשלוש השגיאות הפשריות בקלט:
1. התו שנקלט הוא לא תו חוקי מ"השפה הרומית הבסיסית".
2. התו הוא סיפרה שגדולה מהסיפרה הקודמת = לא סידרה יורדת חלש.
3. התו הוא סיפרה שחזרה יותר ממה שמותר לה (פעם אחת\4 פעמים לכל היותר).
אני השתמשתי לטיפול במקרים האלה במשתנים בוליינים שמקבלים "שקר" במקרה של שגיאה, ובסוף הלולאה (אבל בתוכה) אני בודק האם אחד מהם "שקר" ובהתאם אליו אני שולח הודעת ארור.
הלולאת וואיל תמשך כל עוד לא היה לי ארור מהתו הקודם וגם התו הקודם לא היה אנטר ('n\').
כדי להשוות לתו הקודם אתה חייב להגדיר משתנה ששומר את התו הקודם, ומתעדכן בסוף הלולאה, ומיד אחרי יתעדכן התו הבא בעזרת פקודת cin.get
כמובן שבמהלך הריצה תצטרך להשתמש במונה שיספור את מספר ההופעות של התו הנוכחי כדי למנוע חריגה, ועדיף להשתמש ב switch כדי לעבור על כל אפשרות של קלט.
אלה הקווים הכלליים לכתיבת האלגוריתם. בהצלחה!
ZachBeni- חפרן
- מספר הודעות : 76
Join date : 28.11.08
Age : 39
עד עכשיו
פתרתי רק את סעיף א'.
אמנם עם כמה IF'ים אבל פתרתי.
עכשיו נשארתי לייפות את זה ל-switch ו-case'ים
אמנם עם כמה IF'ים אבל פתרתי.
עכשיו נשארתי לייפות את זה ל-switch ו-case'ים
Tzachi Benozio- חנבצ'
- מספר הודעות : 32
Join date : 26.11.08
Age : 39
Re: שאלה 7 , פאקינג שאלה ....
פתרתי גם ולבנתיים זה עובד , וזה עובד נכון אפילו בלי לבדוק תקינות של חזרות של האותיות היווניות, הם מופיעות בהגבלה כמו שביקשו
shayohayon- לפלף מזדמן
- מספר הודעות : 17
Join date : 25.11.08
Re: שאלה 7 , פאקינג שאלה ....
סכימה של התוכנית
while (num>0)
{
for()
switch ()
{
}
if ()
;
else
;
}
[left]while (num>0)
{
for()
switch ()
{
}
if ()
;
else
;
}
shayohayon- לפלף מזדמן
- מספר הודעות : 17
Join date : 25.11.08
Re: שאלה 7 , פאקינג שאלה ....
while (num>0)
{
for(לרוץ מ-1 עד מספר הסיפרה)
switch (סיפרה)
{
}
// בדיקה עבור חלוקה ב-2 או 5
if ()
;
else
;
}
{
for(לרוץ מ-1 עד מספר הסיפרה)
switch (סיפרה)
{
}
// בדיקה עבור חלוקה ב-2 או 5
if ()
;
else
;
}
shayohayon- לפלף מזדמן
- מספר הודעות : 17
Join date : 25.11.08
Re: שאלה 7 , פאקינג שאלה ....
זה לסעיף א' או ב'?
Tzachi Benozio- חנבצ'
- מספר הודעות : 32
Join date : 26.11.08
Age : 39
שי את האמת אצלך זה נראה קצר...
אצלי זה יצא די ארוך..
סעיף א' ככה ככה, סעיף ב' די ארוך
אני קולט char עם cin.get ואז נכנס ללולאת while (char != '\n')l "כל עוד הצ'אר שלך שונה מ"אנטר""
ואז עשיתי תנאי של if שמחייב אותו להיות M או D או C או L..... ואז הוא נכנס ל switch עם כל המקרים שסופרים לך את האותיות הרומיות.
אחרי זה זה כבר יותר פשוט. ברגע שיש לך מונה של כל אות רומית אתה יודע כמה פעמים היא הודפסה ואתה יכול לחשב את המספר הסופי.
זה באמת שאלה קצת קקה אבל שים לב למשהו חשוב מאד!
צריך לטפל בארורים!
אבל מעבר לכל הארורים צריך להתחשב בארור של מה קורה אם היוזר מכניס לך קלט לא קשור לאותיות רומיות.
משהו כמו מספרים, או אותיות כמו kljsa כאלה... או @#$@#
אם היוזר מכניס כאלה צריך להיות ארור
סעיף א' ככה ככה, סעיף ב' די ארוך
אני קולט char עם cin.get ואז נכנס ללולאת while (char != '\n')l "כל עוד הצ'אר שלך שונה מ"אנטר""
ואז עשיתי תנאי של if שמחייב אותו להיות M או D או C או L..... ואז הוא נכנס ל switch עם כל המקרים שסופרים לך את האותיות הרומיות.
אחרי זה זה כבר יותר פשוט. ברגע שיש לך מונה של כל אות רומית אתה יודע כמה פעמים היא הודפסה ואתה יכול לחשב את המספר הסופי.
זה באמת שאלה קצת קקה אבל שים לב למשהו חשוב מאד!
צריך לטפל בארורים!
אבל מעבר לכל הארורים צריך להתחשב בארור של מה קורה אם היוזר מכניס לך קלט לא קשור לאותיות רומיות.
משהו כמו מספרים, או אותיות כמו kljsa כאלה... או @#$@#
אם היוזר מכניס כאלה צריך להיות ארור
chenmesika- חפרן טורבו!
- מספר הודעות : 107
Join date : 25.11.08
עמוד 1 מתוך 1
Permissions in this forum:
אתה לא יכול להגיב לנושאים בפורום זה