ABA


"יש לי בעיה....בפסקל"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #5339 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 5339
Blood-Runner

   18:02   10.03.03   
אל הפורום  
  יש לי בעיה....בפסקל  
 
   אני כבר מצטער על זה שאני פונה אליכם בשאלה שקשורה לשיעורי בית..
אבל אני מבקש בכל לשון של בקשה........מי שיכול לעזור לי בזה..

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

יש לי שתי מערכים (לצורך העניין A ו- B ) ןאני צריך להעביר למערך C
את כל האיברים הקיימים במערך A הנמצאים גם במערך B.


מי שיוכל לעזור לי.....אני מודה לו מראש!!

תודה רבה.!! וסליחה........


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  pleaseeeeeeee Blood-Runner 10.03.03 21:06 1
  בבקשה: Dudenland 10.03.03 21:33 2
     שיאו... Blood-Runner 10.03.03 22:34 3
     וואוו...יש לך מלא טעויות... TheTom 11.03.03 12:20 4
         איזה טעויות ?!?! Dudenland 11.03.03 17:59 6
     למה O(N^2) כשאפשר O(N) ?? dryice 11.03.03 15:37 5
         הכיצד ??? Dudenland 11.03.03 18:07 7
             מנפלאות הHash Tables: dryice 11.03.03 20:01 8
                 אתה יכול לתת דוגמה למקרה הספציפי הזה בקוד ??? Dudenland 11.03.03 20:12 9
                     אין צורך.... Blood-Runner 11.03.03 20:18 10
                         יש צורך... Dudenland 11.03.03 20:37 11
                             לכל סוג נתונים בונים פונקציית ערבול משלו dryice 11.03.03 22:07 12
                                 לא שואלים כאלה שאלות אבל.... Warzior 14.03.03 00:02 13
                                     לא מדוייק Dudenland 14.03.03 21:31 14

       
Blood-Runner

   21:06   10.03.03   
אל הפורום  
  1. pleaseeeeeeee  
בתגובה להודעה מספר 0
 
   חברה..?

מישהו.......זה חשוב לי


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

   21:33   10.03.03   
אל הפורום  
  2. בבקשה:  
בתגובה להודעה מספר 0
 
  

Const
MAX = 100;

Type
ArrayType = Array Of Integer;

Function CopyArray(Var A, B : ArrayType) : ArrayType;
Var
bol : Boolean;
i, j : Integer;
C : ArrayType;
Begin
For i:= 1 To MAX Do
Begin
bol = False;
For j:=1 To MAX Do
If((A = B) And (bol = False)) Then
Begin
bol = True;
C:=A;
End;
End;
CopyArray:= C;
End;

Dudenland


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

   22:34   10.03.03   
אל הפורום  
  3. שיאו...  
בתגובה להודעה מספר 2
 
   תודה רבה ................

אתה ענק חבר!!!!


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

   12:20   11.03.03   
אל הפורום  
  4. וואוו...יש לך מלא טעויות...  
בתגובה להודעה מספר 2
 
   קודם כל זאת פרוצדורה...דבר שני כשאתה משתמש במשפט if (a=b כמובן זה לא נכון...אתה צריך לעשות:
if a= b
...
אחי אם אתה עדיין צריך את התוכנית אני אשמח לעשות לך אותה..


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

   17:59   11.03.03   
אל הפורום  
  6. איזה טעויות ?!?!  
בתגובה להודעה מספר 4
 
   עבר עריכה לאחרונה בתאריך 11.03.03 בשעה 18:01
 
1. הוא ביקש פרוצדורה...

2. התבלבלתי עם ה-Syntax של C, אבל בעיקרון, זה צריך לפעול, בלי קשר...

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

Dudenland


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

   15:37   11.03.03   
אל הפורום  
  5. למה O(N^2) כשאפשר O(N) ??  
בתגובה להודעה מספר 2
 
  


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

   18:07   11.03.03   
אל הפורום  
  7. הכיצד ???  
בתגובה להודעה מספר 5
 
  


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

   20:01   11.03.03   
אל הפורום  
  8. מנפלאות הHash Tables:  
בתגובה להודעה מספר 7
 
   בעזרת Hash function אנו ממפים ערכים מטיפוס כלשהוא ArrayType
למספרים שלמים בתחום סופי(באותו סדר גודל של כמות הערכים)

לפונקציה יכולים להיות התנגשויות כלומר יתכן ושני ערכים שונים
יעברו לאותו מספר, אבל בפונקציה טובה זה לא קורה הרבה(באותה
הסתברות שיהיו התנגשויות לו היינו מגרילים אקראית מספרים)

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

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

ובסופו של דבר הכל ביחד לוקח O(N)

DRYICE


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

   20:12   11.03.03   
אל הפורום  
  9. אתה יכול לתת דוגמה למקרה הספציפי הזה בקוד ???  
בתגובה להודעה מספר 8
 
   חוץ מזה, איך אתה בונה את פונקצית הערבול, כך שתיתן, כביכול, ערך רנדומלי אחד ויחיד, לערך מקביל אחר ??? (מבחינה טכנית, איך אתה בונה את זה)...

Dudenland


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

   20:18   11.03.03   
אל הפורום  
  10. אין צורך....  
בתגובה להודעה מספר 9
 
   מה שידיד נתן בהתחלה הסתדר..לי!!

שיפרתי את הפרוצדורה שלו.......(פונקציה).


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

   20:37   11.03.03   
אל הפורום  
  11. יש צורך...  
בתגובה להודעה מספר 10
 
   אם אפשר לייעל, אז מייעלים...

Dudenland


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

   22:07   11.03.03   
אל הפורום  
  12. לכל סוג נתונים בונים פונקציית ערבול משלו  
בתגובה להודעה מספר 11
 
   אבל למעשה יש כמה כלים כללים שכמעט תמיד עושים את העבודה כראוי,
ובעת הצורך משלבים כמה מהם יחד.

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

אם נרצה לקחת מספרים שלמים ולהעתיק אותם לתחום 0-N פשוט נוציא מודולו N

עבור קלט שפוי, זה יגרום לקלט להתפלג באופן אחיד למדיי, אם כי
כמובן אפשר לבנות קלט מעצבן כזה: N,2N,3N,4N וכו. שדיי ידפוק את
פונקציית התמצות שלנו.
(יש גם פונקציות תמצות קריפוטגרפיות שאף אחד לא יודע למצוא בהם התנגשויות,
לרוב אין בהם צורך)

דוגמאות קונקרטיות אני מאמין שיש בארכיון.

כתבתי משהוא על בניית ספר טלפונים יעיל, זה למעשה אותו דבר.

DRYICE


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

   00:02   14.03.03   
אל הפורום  
  13. לא שואלים כאלה שאלות אבל....  
בתגובה להודעה מספר 12
 
   פאסקל לא מתייחסת למשתנים כמופשטים לגמרי, כל משתנה חייב לקבל התייחסות מדוייקת ומתאימה, בשביל להעביר ממערך למערך מומלץ להשתמש בלולאת FOR פשוטה...


s22Warziors33


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

   21:31   14.03.03   
אל הפורום  
  14. לא מדוייק  
בתגובה להודעה מספר 13
 
   עבר עריכה לאחרונה בתאריך 14.03.03 בשעה 21:36
 


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

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

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



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