עבור לתוכן

++C תור.

Featured Replies

פורסם

אני צריכה ליצור תכנית שמבטאת תור במשך שעה.

כל דקה יכולים להכנס אנשים לתור(אין הגבלה למספר האנשים.)

ישנן 5 עמדות המטפלות ב4 עניינים שונים, (כל עניין לוקח דקה, שתיים , שלוש או ארבע לפי חשיבותו.)

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

איך אני רושמת את האלגוריתם שיבדיל בין העמדות וישמור על הזמן????

פורסם

האם את יכולה להשתמש במספר תורות הזהה למספר סוגי העמדות השונים?

אם לא, אני לא רואה איך אפשר לפתור את זה... :-X

פורסם

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

פורסם
  • מחבר
תשמרי 5 תורות, לכל תור תשמרי כמה זמן נשאר

לא הבנתי מה שאמרתם.

אנסה להסביר שוב:

אין הגבלה במספר האנשים שנכנסים לתור בכל פעם!!!!!!

בכל פעם יוצאים אנשים מהתור לפי העמדות הפנויות.

וכשעוברת עוד דקה- נכנסים עוד אנשים ,וחוזר חלילה.

פורסם

אז תשמרי כמה זמן נשאר עד שתור יגמר, ותמיד תוסיפי לתור שהזמן הכי קצר.

או שלא הבנתי טוב את השאלה.

עריכה: אותו דבר, רק ללא הבדיקה של המקום, אלא עם הכנסה לתור שבו סכום הזמנים הוא הקצר ביותר.

פורסם
  • מחבר

האם אתה יכול לנסות לרשום לי קוד ע"מ שאבין למה התכוונת???

לדוגמא-

ישנם 7 אנשים בתור.

אתה-5 הראשונים אני מעבירה לעמדות. כל איש נמצא בעמדה 1-5 מספר דקות כמספר העמדה (בעמדה 1 דקה, בעמדה 2 - 2 דקות וכו')

איך אני מעבירה את שני האנשים שנותרו בתור לעמדה 1 כעבור דקה, ואת האיש השני או לעמדה 1 או 2 שהתפנו מאנשים???

תודה.

פורסם





class QQ
{

private: class Q
{
private: Queue <int>q;
int n;
int t;
public:
Q() {t=0; n=0;}
void insert(int nn) { Q.insert(nn);n+=nn;}
void min() {if(q.empty()) return; if(t==0){n=t=q.peep();} else{t=t-1; if(t==0) {q.removetop(); n=t=q.peep();}}}
int getn() {return n;}
} *qq;
int count;
public:
QQ(int c){count=c;qq=new Q[count];}
~QQ(){delete [] qq;}
void insert(int n){int tmp=0; for(int i=1;i<count;i++){if(qq[tmp].getn()>qq[i].getn()) tmp=i;)}qq[tmp].insert(n);}
void min() {for(int i=0;i<count;i++) qq[i].min();}
};

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

פורסם
  • מחבר

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

השאלה שלי היא לגבי מימוש בעזרת התור.

אני צריכה ליצור תכנית שמבטאת תור במשך שעה.

כל דקה יכולים להכנס אנשים לתור(אין הגבלה למספר האנשים.)

ישנן 5 עמדות המטפלות ב4 עניינים שונים, (כל עניין לוקח דקה, שתיים , שלוש או ארבע לפי חשיבותו.)

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

אין הגבלה במספר האנשים שנכנסים לתור בכל פעם!!!!!!

בכל פעם יוצאים אנשים מהתור לפי העמדות הפנויות.

וכשעוברת עוד דקה- נכנסים עוד אנשים ,וחוזר חלילה.

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

פורסם

עמדה ריקה - T=0(לפי הפתרון שלי). אם תשימי לב, בפונ של הדקה, כל דקה T קטן. כשT מגיע ל- 0 התור נגמר, ומתחיל תור חדש.

ארכיון

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

דיונים חדשים