ABA


"שאלה ב C על מערך ממוין"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11650 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11650
Benayoun15
חבר מתאריך 7.6.02
1026 הודעות
   13:55   08.01.05   
אל הפורום  
  שאלה ב C על מערך ממוין  
 
   כתוב פונצקיה שכותרתה

int find_element(int a,int n, int *index1, int*index2 )

הפונקציה מקבלת מערך ממוין של שלמים ואורכו n
הפונקציה בודקת אם יש במערך שני איברים שסכומם 0
אם כן היא תחזיר את שני האינדקסים שלהם ל index1 index2
ותחזיר 1 לערך הפונקציה
אחרת תחזיר 0
אם יש יותר מזוג אחד כזה היא תחזיר את האינדקסים של זוג אעחד בלבד


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  מה השאלה? Boaz_fr 13.01.05 13:52 1
     השאלה שלו זה בקשת הכנת שיעורי בית... hll 13.01.05 15:37 2
         גם אני Boaz_fr 13.01.05 21:06 3
  מכתב. Gold Dragon 17.01.05 22:31 4
     קוד זה לא מנצל את עובדת היות המערך ממוין dryice 18.01.05 17:12 5
         צודק לא שמתי לב שהמערך ממוין :/ Gold Dragon 18.01.05 22:20 6
             הלולאה השניה לא צריכה לעבור על כל המערך Boaz_fr 19.01.05 00:21 7
                 בסדר זה עדיין אותו סדר גודל. Gold Dragon 19.01.05 10:51 8
                     זה מוריד את זמן הריצה לפחות בחצי Boaz_fr 19.01.05 12:38 9
                         ואני עדיין אומר שאפשר בO(n) dryice 19.01.05 20:16 10
                             הכוון הוא פוינטר מההתחלה ומהסוף..... MadXP 19.01.05 22:40 11
                                 כן אני חושב שאתה צודק... Gold Dragon 20.01.05 20:16 12
                                     כך בגדול גם אני חשבתי. dryice 20.01.05 20:27 13

       
Boaz_fr

   13:52   13.01.05   
אל הפורום  
  1. מה השאלה?  
בתגובה להודעה מספר 0
 
  


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

   15:37   13.01.05   
אל הפורום  
  2. השאלה שלו זה בקשת הכנת שיעורי בית...  
בתגובה להודעה מספר 1
 
   שונא שעושים את זה ...!!!


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

   21:06   13.01.05   
אל הפורום  
  3. גם אני  
בתגובה להודעה מספר 2
 
   אני משתדל אף פעם לא לתת קוד מוכן
רק רעיונות וקטעי קוד

מטרת הפורום הוא הפריה הדדית, וסיוע בקשיים
ולא סיג'ור הדדי


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

   22:31   17.01.05   
אל הפורום  
  4. מכתב.  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 17.01.05 בשעה 22:33 בברכה, Gold Dragon
 

int i=0,j=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i!=j)
{
if(a{i}+a{j}==0)
{
*index1=i;
*index2=j;
return (1);
}
}
}
}
return (0);


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

   17:12   18.01.05   
אל הפורום  
  5. קוד זה לא מנצל את עובדת היות המערך ממוין  
בתגובה להודעה מספר 4
 
   ועל כן רץ בסיבוכיות n^2. משום שידוע שהמערך ממוין ניתן לממש בO(N).


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

   22:20   18.01.05   
אל הפורום  
  6. צודק לא שמתי לב שהמערך ממוין :/  
בתגובה להודעה מספר 5
 
   ערכתי לאחרונה בתאריך 18.01.05 בשעה 22:23 בברכה, Gold Dragon
 
אבל עדיין איך אפשר לעשות עם לולאה אחת?.


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

   00:21   19.01.05   
אל הפורום  
  7. הלולאה השניה לא צריכה לעבור על כל המערך  
בתגובה להודעה מספר 6
 
   למערך נקרא A
לגודל המערך נקרא N
למונה של הלולאה הראשונה נקרא X
והיא רצה מ (A(0 על ל(A(N-1
הלולאה השניה שלמונה שלה נקרא Y, רצה מ X+1 עד לN או עד לתנאי

A(X) + A(Y) > 0


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

   10:51   19.01.05   
אל הפורום  
  8. בסדר זה עדיין אותו סדר גודל.  
בתגובה להודעה מספר 7
 
  


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

   12:38   19.01.05   
אל הפורום  
  9. זה מוריד את זמן הריצה לפחות בחצי  
בתגובה להודעה מספר 8
 
   אפשרות נוספת יעילה יותר היא: במקום הלולאה השניה לבצע חיפוש בינארי


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

   20:16   19.01.05   
אל הפורום  
  10. ואני עדיין אומר שאפשר בO(n)  
בתגובה להודעה מספר 9
 
  


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

   22:40   19.01.05   
אל הפורום  
  11. הכוון הוא פוינטר מההתחלה ומהסוף.....  
בתגובה להודעה מספר 10
 
   לא?


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

   20:16   20.01.05   
אל הפורום  
  12. כן אני חושב שאתה צודק...  
בתגובה להודעה מספר 11
 
   שמים מתביע להתחלה מצביע לסוף בודקים את הערך של החיבור ביניהם.אם קטן מ-0 משנים את המצביע שהצביע להתחלה שיצביע על האיבר הבא,ואם גדול מ-0 משנים את המצביע שהצביע על הסוף שיצביע על האיבר הקודם.

כל זה בתוך לולאת while שהתנאי שלה כל עוד המצביע שהצביע על ההתחלה+1 שונה מהמצביע על הסוף...

זה נכון?..


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

   20:27   20.01.05   
אל הפורום  
  13. כך בגדול גם אני חשבתי.  
בתגובה להודעה מספר 12
 
  


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

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

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



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