צריכה כיוון בשאלה ב C

immortal lady

New member
צריכה כיוון בשאלה ב C

כתוב תוכנית שקולטת טקסט מתוך ספר המורכב מאותיות אנגליות גדולות וסימנים אחרים כמו . , : וכ'ו.. סוף הטקסט מסומן ע"י כוכבית (*) על התוכנית לחשב ולהדפיס את מספר המופעים של כל אות גדולה באנגלית לדוגמא: BAMBA* A=2 B=2 C=0 . . .M=1 . .Z=0 איך אני עושה את זה בלי להשתמש בswitch? אשמח לרמז....כיוון...משהו...
 

vinney

Well-known member
רמז כלשהו

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

immortal lady

New member
הגיוני?

ה i שלי,התא הראשון במערך יתחיל ממספר 65 שזה הקוד האסקי של A?
 

vinney

Well-known member
לא, הוא יתחיל מ0

אבל את יודעת מה אחת התכונות השימושיות יותר של מספרים רציפים? שההפרשים בינהם נשמרים בלי קשר לנקודת ייחוס
אם A זה 65 וB זה 66, אז מה איכפת לך אם זה מתחיל מ65 וB זה A+1 או מ0? איך מקדמים מונה? עם אופרטור ++.
 

iiddoo

New member
לפי מה שאני יודע

נהוג שלא לחסר מס' קבוע מהתו כדי למנוע סיבוכים בהבדלים בין מע' הפעלה שונות וגם כדי לשמור על קריאות הקוד. בעיקרון הכי טוב שתתייחסי ל-'A' בתור ה-0 ל'B'-'A' בתור 1 וכך הלאה. כלומר אל תחסרי בשום שלב 65 {או כל קבוע אחר} מכיוון שאין צורך בכך.
 

iiddoo

New member
לזה התכוונתי

השימוש במילה קבוע היה לא נכון. התכוונתי למס' {למשל 65}.
 

immortal lady

New member
לא יודעת אם זה המקום לשרשר

אבל אני חייבת להגיד תודה ענקית ל vinney על העזרה והכיוון! עזרת לי מאוד.... תודה תודה תודה!
 
למעלה