עזרה בתרגיל בשפת ג'אווה

מורן116

New member
עזרה בתרגיל בשפת ג'אווה

שלןם , אני משתמשת חדשה כאן , ואשמח מאוד אם מישהו שמבין יוכל לסייע לי בפתרון תרגיל מספר " יסודות מדעי המחשב בשפת java"חלק ב , ע"מ 40 ת"ר 43 . בתודה מראש , מורן אם אין לכם את הספר , תגידו לי ואני אכתוב את התרגיל
 

מורן116

New member
אז הנה התרגיל :

כתוב תוכנית המקבלת כקלט אותיות קטנות מה-abc עד לקליטת '*'. עבור כל אות מהאותיות שהתקבלו כקלט יש להציג את אורך הרצף הגדול ביותר שהתקבל מאותה אות. כמו כן יש להציג כפלט את האות/יות שהתקבלו עבורן הרצף הארוך ביותר. דוגמא: עבור הקלט: r s x x x x s s a d r r r h h h b b b b יתקבל הפלט: (a 1 ) (b 4) (d 1 ) (x 4) וכו' אני מודה מראש על העזרה
 

HaifaMan

New member
הנה דרך אחת

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

HaifaMan

New member
במחשבה שניה הדרך שלי לא משהו

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