ABA


"צריך עזרה בתוכנית ב C++ בבקשה!! אני מיואש"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13804 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13804
RTR

   19:33   20.12.06   
אל הפורום  
  צריך עזרה בתוכנית ב C++ בבקשה!! אני מיואש  
 
   תכנית 2#: תת מערך מרבי שערכיו מונוטוניים עולים
כתבו תכנית המגדירה:
const unsigned int MAX_ROWS = 10,
MAX_COLS = 20 ;
וכן:
int matrix;
התכנית תקרא מהמשתמש זוג מספרים טבעיים באמצעותם יזין לה המשתמש בכמה שורות וכמה עמודות מתוך המערך הנ"ל ברצונו לעשות שימוש (לדוגמה אם הקלט הינו: 7 17 אזי המשתמש מעוניין להשתמש בשבע שורות ו- 17 עמודות; מספר השורה מוזן ראשון ומספר העמוד שני). אחר יזין המשתמש נתונים לתאי המערך. הנתונים יוזנו שורה אחר שורה (כלומר ראשית לתוך השורה 0# , אחר לשורה 1#, כן הלאה. בדוגמה שלנו יוזנו 119 נתונים). ניתן להניח כי הקלט תקין (כלומר אין צורך לבדקו).

על התכנית לאתר תת-מערך מלבני רציף גדול ביותר המצוי ב- matrix ומקיים שאברי תת-המערך הינם בסדר עולה; כלומר, אם הפינה השמאלית העליונה של תת-המערך מצויה בתא במערך matrix, ואם גודלו של תת-המערך הוא m x n , אזי לכל תא שאינו אחרון בשורה בתת-המערך מתקיים a<a ולתא האחרון בכל שורה מתקיים שהוא קטן מהתא הראשון בשורה שאחריו בתת-המערך, כלומר: a<a). יש להציג את הפינה השמאלית העליונה של תת-המערך, ואת מספר השורות ומספר העמודות שהוא כולל. במידה וקיימים כמה תת-מערכים מקסימליים בגודלם יש להציג את הראשון ביניהם (כאשר אנו אומרים ראשון כוונתנו לזה שמספר השורה בה שוכנת פינתו השמאלית העליונה מינימלית, ובמידה וקיימים כמה תת-מערכים השוכנים באותה שורה יוצג זה שמספר העמודה בה הוא שוכן מינימלי).

לדוגמה עבור המערך:
4# 3# 2# 1# 0#
1 0 2 4 7 0#
5 3 2 1 8 1#
13 11 9 7 2 2#
30 28 14 12 1 3#

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

רמז: סרקו את המערך תא אחר תא (באמצעות זוג לולאות), עבור כל תא בדקו את כל תת-המערכים שהתא עליו אתם ניצבים מהווה את פינתם השמאלית העליונה (כלומר תת-מערכים בגדלים: 1X1, 1X2, 1X3,…, 2X1, 2X2, 2X3, … . עשו זאת באמצעות זוג לולאות נוספות). הבדיקה (תריץ זוג לולאות נוספות) תבדוק האם תת-המערך עונה על הדרישות (הוא 'מונוטוני עולה') אם כן אזי אם תת-המערך גדול מכל תת-מערך שאיתרתם בעבר אזי שמרו את פרטי תת-המערך הנוכחי.

הערות:
א. תמיד ימצא לפחות תת-מערך יחיד מבוקש שכן תת-מערך בן תא יחיד עונה על הדרישות.
ב. הסבירו מהו זמן הריצה של התכנית שכתבתם. ענו על שאלה זאת בקובץ ה- README לצד תיאור התכנית.


אני עובד עליה כמה ימים ואני לא יודע איך לעשות את זה
יש לי כיוון אבל לא מצליח לי!


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  זה הכיוון שלי RTR 20.12.06 19:37 1
     אתה יכול לפתור את הרגיל ככה.. evi  20.12.06 22:48 2
         איך אני אמור לבדוק אם הואמונוטוני עולה בדיוק בצורה של RTR 21.12.06 01:13 3
  UP PLEASE! RTR 31.12.06 19:14 4

       
RTR

   19:37   20.12.06   
אל הפורום  
  1. זה הכיוון שלי  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 20.12.06 בשעה 19:37 בברכה, RTR
 

for (main_row = 0 ; main_row < num_of_rows ; main_row )
for (main_col = 0 ; main_col < num_of_cols ; main_col )
for (sec_row = main_row; sec_row < num_of_rows ; sec_row )
for (sec_col = main_col ; sec_col < num_of_cols ; sec_col )
for (sub_row = main_row ; sub_row <= sec_row ; sub_row )
for (sub_col = main_col ; sub_col <= sec_col ; sub_col )

חשבתי להגדיר 3 לולאות כפולות שבהם הזוג הראשון יהיה הגבול התחתון
הזוג השני יהיה הגבול העליון
והזוג השלישי יחפש יבדוק ביניהם


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
evi 
חבר מתאריך 31.3.02
635 הודעות
   22:48   20.12.06   
אל הפורום  
  2. אתה יכול לפתור את הרגיל ככה..  
בתגובה להודעה מספר 1
 
להגדיר זוג לולאות שרת על כל תא במערך בתוכו עוד זוג שמגדיר גודל תת-מערך ובתוכו עוד זוג שבודק את התנאי של מונוטוני עולה בתוך תת המערך...

זו כמעט הדרך היחידה לפתור את זה עם לולאות ולא עם פונקציות.

עכשיו סיימנו את התרגיל הזה.


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

   01:13   21.12.06   
אל הפורום  
  3. איך אני אמור לבדוק אם הואמונוטוני עולה בדיוק בצורה של  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 21.12.06 בשעה 01:14 בברכה, RTR
 
המלבן???

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

זה קשה לי..

אם אתה יכול לעזור לי בלפתור את זה כפונקציה זה גם יעזור לי... תודה!


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

   19:14   31.12.06   
אל הפורום  
  4. UP PLEASE!  
בתגובה להודעה מספר 0
 
   בבקשה אני תקוע וזה עדיין רלוונטי
קיבלנו את התוכנית הזו להגשה בתרגיל עם פונקציות
בבקשה אם מישהו יכול לעזור לי!!


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

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

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



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