Dolmiti פורסם 2019 במרץ 1 Share פורסם 2019 במרץ 1 הגדר פונקציה שמקבלת מחרוזת ומחזירה את ערכה בבסיס 16 כאשר a=0, b=1, c=3...z=25 דוגמה, עבור cczz.dd נקבל get cczz.dd and return: 3*16^3 +3*16^2 +25*16^1 +25*16^0 + 4*16^-1+ 4*16^-2 = 13481.265625 נתון: מחרזות תמיד יופיעו עם אות אחת לפחות לפני ואחרי הנקודה והפונק' צריכה לסרוק את המחרוזת פעם אחת בלבד, ובעזרת 2 משתני עזר בלבד double str2float (char *s) { double b = 1, result = 0; /* TODO */ } מודה לעוזרים קישור לתוכן שתף באתרים אחרים More sharing options...
MalGano פורסם 2019 במרץ 1 Share פורסם 2019 במרץ 1 דבר ראשון, לדעתי מה שמחשבים שם זה לא נראה כמו מעבר לבסיס 16. ניסיתי להמיר את המספר הנתון בבסיס 26 (כאשר a=0 ו-z=25) לבסיס 16 ויצא לי משהו אחר אבל וואטאבר. בהנחנה ובכל זאת רוצים לחשב את הדבר הזה, תנסה לדמיין מה קורה אם אתה מוציא 16 בחזקה כלשהי בתור גורם משותף של הביטוי הזה. קישור לתוכן שתף באתרים אחרים More sharing options...
QttP פורסם 2019 במרץ 2 Share פורסם 2019 במרץ 2 זה פשוט תרגיל מטומטם, שאין לו באמת קשר ל"בסיסים", אבל לא קשה במיוחד. קוראים תו-תו, מחסירים מהערך את 'a' (כדי לקבל טווח ערכים בין 0 ל25 במקום בין a לz), ומכפילים בחזקה מתאימה של 16 (במקום 16 היה אפשר לשים שם כל מספר). הטריק היחיד זה לדעת נמצאת הנקודה כדי לדעת מאיזו חזקה להתחיל. בשביל זה אפשר פשוט לסרוק את המחרוזת פעם אחת ולזכור את מיקום הנקודה. קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 @QttP מרגיש לי תרגיל מטומטם כמו שאתה אומר. אבל משום מה אני לא מצליח להשלים את נתון עד לנקודה double str2float (char *s) { d = 1, res = 0; //given row while (*s !='.') { res *=16; //given row res += __________________; //please complete s++; //given row } קישור לתוכן שתף באתרים אחרים More sharing options...
QttP פורסם 2019 במרץ 3 Share פורסם 2019 במרץ 3 תחשוב לדוגמה על המקרה הפשוט. מה אם הייתה רק אות אחת עד הנקודה? מה היית מוסיף שם בשורה שצריך להשלים? קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 res += (*s)-'a'; קישור לתוכן שתף באתרים אחרים More sharing options...
QttP פורסם 2019 במרץ 3 Share פורסם 2019 במרץ 3 נראה כיוון טוב. אז מה הבעיה? קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 א. רק עכשיו שמתי לב שזה עובד חחח ותודה ב. לגבי המשך המחרוזת משלב הנקודה. יש רעיון? int b = 1; ... while (_________ !=0 ) //after dot cczz.aea { _______ //please complete res +=____*b; //please complete return res; //given row } קישור לתוכן שתף באתרים אחרים More sharing options...
QttP פורסם 2019 במרץ 3 Share פורסם 2019 במרץ 3 אחרי הנקודה פשוט יותר, כי אתה יודע בדיוק מאיזו חזקה של 16 להתחיל. תחשוב שוב על הדוגמה שניתנה. קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 לא הולך... קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 את תנאי הלולאה אני מבין. את גוף הלולאה - אין לי שום רעיון שאיתו אני יכול להתקדם לחזקה נמוכה יותר מ 1- קישור לתוכן שתף באתרים אחרים More sharing options...
QttP פורסם 2019 במרץ 3 Share פורסם 2019 במרץ 3 וואלה לא יודע מה לומר לך. זה כבר לא תכנות, אלא יותר כמו חשבון די בסיסי. קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 אם היה אפשר להוסיף משתנה עזר אז היה קלי קלות. לכן אין לי רעיון קישור לתוכן שתף באתרים אחרים More sharing options...
QttP פורסם 2019 במרץ 3 Share פורסם 2019 במרץ 3 איזה משתנה עזר אתה חושב שאתה צריך ולמה? נסה לפתור עם משתנה עזר ואז תחשוב איך אפשר (אולי) בלי. קישור לתוכן שתף באתרים אחרים More sharing options...
Dolmiti פורסם 2019 במרץ 3 מחבר Share פורסם 2019 במרץ 3 אכן משתנה עזר לא עוזר. מה שלא ברור לי זה מה השורה האחרונה מרמזת. למה מכפילים את b בסוף. האם זה אומר ששורה לפני כן הוא אמור להשתנות? קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.