עזרה לגבי שאלה שהייתי במבחן בPASCAL. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה לגבי שאלה שהייתי במבחן בPASCAL.


fuck off

Recommended Posts

גם לא, אבל בהנחה שלזה אתה מתכוון, מה הבעיה בלעשות מערך אינטגר של מ 0 עד 9, ואז לעבור על המערך המקורי, בכל מספר בו, להתחיל לחלק ב 10 כל פעם (עד שהוא מתאפס) ולהעלות את המונה במערך החדש במיקום של השארית הנוכחית ב 1. לבסוף לסכום כמה איברים מהמערך החדש שונים מ 0 ולהחזיר את זה ?

קישור לתוכן
שתף באתרים אחרים

אוקי בעקרון הדרך הארוכה

ליצור מערך חד מימדי משלך ותכניס אליו את המספר הראשון

ואז תתחיל לסרוק את המערך הראשון וכל מספר שלא זהה למספר שהכנסת כבר יכנס למערך

עכשיו אתה צריך 2 סוכמים

אחד שיספור כמה שונים יש

ואחד שיספור כמה מספרים הכנסת עד עכשיו למערך השני (כדי להשתמש בו בלולאת FOR)

קישור לתוכן
שתף באתרים אחרים

בהנחה והמספרים הם מ 0 עד 9 (אחרת זה לא עובד):

1. הקצה מערך חדש, בגודל 10, להלן tmp_arr. מלא אותו באפסים בלבד.

2. עבור בלולאת FOR על המערך הנתון, A.

3. בכל מעבר, נניח A[k] = j אז תבצע arr_tmp[j] = 1.

4. סוף התוכנית תרוץ על arr_tmp ותסכום את הערכים בו.

5. הדפס את הסכום.

חבל שאלה לא קשה.

קישור לתוכן
שתף באתרים אחרים

בהנחה שבמערך A יש לך רק ערכים של INTEGER כלומר בטווח מ0 עד 32768 (או מה שזה לא יהיה), אתה מאתחל מערך B 0..32768 רץ על A ומעדכן את B בצורה

B[A[i]]++ 

ואז עובר על B וסוכם לSUM את כול התאים בB שמכילים 1, סיבוכיות על הפנים, אבל זה מה שעולה לי בראש כרגע.

בדיוק כמו הבחור מעליי שפירסם שנייה לפני.

קישור לתוכן
שתף באתרים אחרים

למה לסכום רק את אלה שיש בהם אחד? יש עוד ספרות ששונות אחת מהשניה. הוא לא ביקש את אלה ששונות ומופיעות רק פעם אחת, אלא מספר הספרות השונות בכללי.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...