ABA


"עזרה דחופה בC!!!"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #10245 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10245
madnaor
חבר מתאריך 20.3.02
21815 הודעות, 2 פידבק
   18:48   26.01.11   
אל הפורום  
  עזרה דחופה בC!!!  
 
יש לי להגשה להיום בערב תרגיל נוראי ואני כבר יושב עליו שבוע וללא תוצאות

אני צריך למעשה לקבל מהמשתמש מערך של מספרים בכל גודל
ולחלק את המספרים בין 3 "מעבדים"
כביכול יש לי רשימת זמנים(המערך) והם חייבים להתחלק בין 3 מעבדים שמעבדים אותם ביחד...
לדוגמא: הזמן המינימלי ש3 המעבדים יוכלו לעבד את כל הזמנים הוא 17 :
במעבד ראשון 7,6,4
במעבד שני 7,8
ובמעבד שלישי 12,5

זאת הקומבינציה הכי טובה
קומיבנציה אחרת תתן מספר גדול יותר מ17 לחישוב כולם

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

רעיונות וסתם הצעות יתקבלו מאוד בברכה

תודה רבה מראש




                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מותרת הפקעה? ldan192  26.01.11 19:29 1
     אני בקורס מבוא למדעי המחשב לא של מדעי המחשב madnaor 26.01.11 19:37 2
         הבנתי. בכל מקרה, זה לא סותר את מה שאני אומר ldan192  26.01.11 19:55 3
             בעצם אני חושב שלא הבנתי את השאלה נכון. ldan192  26.01.11 19:58 4
                 אוי ניסיתי לתת דוגמא למעלה אבל זה לא כתב אותה משום מה madnaor 26.01.11 20:00 5
                     אהההה. ldan192  26.01.11 20:09 6
                         המממ madnaor 26.01.11 20:30 7
                             נו, עניתי בדיוק את רמז 2... בכל מקרה ldan192  26.01.11 21:04 8
                                 תודה רבה רבה רבה על העזרה madnaor 26.01.11 22:03 9
                                     בכיף :) ldan192  26.01.11 22:07 10
                                     זה מדהים ? חכה שפעם אחת הוא ישתלט לך המחשב Ice_Man 27.01.11 01:58 11
                                         חח עידן שפיץ על:) akoka2 28.01.11 13:37 12

       
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:29   26.01.11   
אל הפורום  
  1. מותרת הפקעה?  
בתגובה להודעה מספר 0
 
בכל מקרה, אלגוריתם SRTF נותן זמן מינימלי.
SJF ללא הפקעה, אבל טובה לפחות כמו SRTF.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
madnaor
חבר מתאריך 20.3.02
21815 הודעות, 2 פידבק
   19:37   26.01.11   
אל הפורום  
  2. אני בקורס מבוא למדעי המחשב לא של מדעי המחשב  
בתגובה להודעה מספר 1
 
אנחנו לא לומדים כאלה

רוב הסיכויים שהם רוצים רקורסיה או בקטרקינג



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:55   26.01.11   
אל הפורום  
  3. הבנתי. בכל מקרה, זה לא סותר את מה שאני אומר  
בתגובה להודעה מספר 2
 
בתור יוריסטיקה.

בכל מקרה, אני מאמין שהאלגוריתם אמור להראות משהו כזה:



bool 3cpus(int i, int last, int sum, int goal) {
if (i < 0 || sum > goal) return false;
if (sum == goal) return true;
bool b = false;
for (int p=last+1; p<=goal && !b; ++p) {
b = 3cpus(i-1, p, sum+p, goal);
}
return b;
}

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


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:58   26.01.11   
אל הפורום  
  4. בעצם אני חושב שלא הבנתי את השאלה נכון.  
בתגובה להודעה מספר 3
 
נותנים לך מערך? מאיזה גודל? 3?

נסה להבהיר עם דוגמא...


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
madnaor
חבר מתאריך 20.3.02
21815 הודעות, 2 פידבק
   20:00   26.01.11   
אל הפורום  
  5. אוי ניסיתי לתת דוגמא למעלה אבל זה לא כתב אותה משום מה  
בתגובה להודעה מספר 4
 
לדוגמא:
4,8,6,7,5,7,12
זה 7 מספרים רנדומלים
הזמן המינימלי ש3 המעבדים יוכלו לעבד את כל הזמנים הוא 17 :
במעבד ראשון 7,6,4
במעבד שני 7,8
ובמעבד שלישי 12,5

זאת הקומבינציה הכי טובה
קומיבנציה אחרת תתן מספר גדול יותר מ17 לחישוב כולם



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   20:09   26.01.11   
אל הפורום  
  6. אהההה.  
בתגובה להודעה מספר 5
 

int 3cpus(int arr[], int size, int sum1, sum2, sum3) {
if (size < 0) return max(sum1, max(sum2, sum3));
return min(3cpus(arr+1, size-1, sum1+arr[0], sum2, sum3),
min(3cpus(arr+1, size-1, sum1, sum2+arr[0], sum3),
3cpus(arr+1, size-1, sum1, sum2, sum3+arr[0])));
}

שוב לא נבדק פיזית ובעיניי אפשר לשפר את זה קצת, אבל לפחות מקווה שתקבל אינטואיציה.

והקריאה ההתחלתית היא
3cpus(arr, size, 0, 0, 0);


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
madnaor
חבר מתאריך 20.3.02
21815 הודעות, 2 פידבק
   20:30   26.01.11   
אל הפורום  
  7. המממ  
בתגובה להודעה מספר 6
 
תודה רבה
אבל לא בדיוק הבנתי מה היא עושה

אולי תבין יותר טוב מהשאלה עצמה...
http://webcourse.cs.technion.ac.il/234111/Winter2010-2011/hw/WCFiles/%D7%AA%D7%A8%D7%92%D7%99%D7%9C%20%D7%91%D7%99%D7%AA%208.pdf

שאלה 2



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   21:04   26.01.11   
אל הפורום  
  8. נו, עניתי בדיוק את רמז 2... בכל מקרה  
בתגובה להודעה מספר 7
 
זה פשוט מאוד עובר על כל המערך
פעם מוסיף את האיבר ה-i למעבד א', פעם לב', בפעם לג'
לוקח את המינימום הזה.

בסיום לוקח את המקס' בין כל הזמנים (זה תנאי העצירה שבשורה הראשונה).

ואגב, אני שם לב שלא רשום int sum3, int sum2
וגם נראה לי שפונקציה אסור להתחיל עם מספר


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
madnaor
חבר מתאריך 20.3.02
21815 הודעות, 2 פידבק
   22:03   26.01.11   
אל הפורום  
  9. תודה רבה רבה רבה על העזרה  
בתגובה להודעה מספר 8
 
עובד באופן מושלם

מדהים שאני יושב על זה כבר שבוע ולך זה לקח בדיוק 5 דקות
הייתי יודע הייתי בא אליך לפני


תודה רבה



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   22:07   26.01.11   
אל הפורום  
  10. בכיף :)  
בתגובה להודעה מספר 9
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice_Man
חבר מתאריך 14.11.05
1161 הודעות
   01:58   27.01.11   
אל הפורום  
  11. זה מדהים ? חכה שפעם אחת הוא ישתלט לך המחשב  
בתגובה להודעה מספר 9
 
   פעם אחת הוא השתלט לי על המחשב,
זה היה נראה כאילו הוא המציא את הלינוקס והשפה C.
הוא עובד יותר מהר ממהר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka2

   13:37   28.01.11   
אל הפורום  
  12. חח עידן שפיץ על:)  
בתגובה להודעה מספר 11
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net