ABA


"שאלה קטנה בקשר לC ..איך מאפסים מערך דו ממדי בבקשה?"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #14429 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14429
בן שאול

   19:09   16.11.07   
אל הפורום  
  שאלה קטנה בקשר לC ..איך מאפסים מערך דו ממדי בבקשה?  
 
   איך מאפסים מערך דו ממדי בבקשה? שהכל בו יהיה מאופס ..

תודה רבה ..


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  ממ DLN 16.11.07 19:28 1
  אז לדו ממדי אני עושה{0}= int arr?? בן שאול 16.11.07 19:36 2
     כן (סוגריים מרובעות לא עובדות אז תשתמש ב {} פעם הבאה) Net_Boy  16.11.07 19:54 3
         ועוד שאלה קטנה ... איך אני משתמש במערך דו ממדי בפונקציי בן שאול 16.11.07 20:23 4
             תיקון... בן שאול 16.11.07 20:43 5
                 אין סיבה להחזיר מערך , שאתה קורא לפונקציה שמקבלת מערך Net_Boy  16.11.07 20:52 6
                 אתה לא יכול להחזיר מערך Limp Bizkit 16.11.07 20:58 8
                     אפשר לשלוח את הכתובת של התא הראשון במערך DLN 16.11.07 22:09 15
                         ומה אמרתי הרגע במילים אחרות ? Limp Bizkit 16.11.07 22:15 16
                             שאי אפשר להחזיר מערך :| DLN 17.11.07 13:45 18
                                 אתה באמת לא יכול להחזיר מערך Limp Bizkit 17.11.07 16:51 19
  אז המערך משתנה והוא מוחזר לתוכנית עצמה ... ?? בן שאול 16.11.07 20:57 7
     תלוי איך שלחת את המשתנה Limp Bizkit 16.11.07 21:02 10
  אהה הבנתי אותך ... זה כאילו נשמר בזיכרון.. תודה רבה אחי .. בן שאול 16.11.07 21:00 9
     חח שניה אחי הסתבכתי קצת... בן שאול 16.11.07 21:13 11
         זה בסדר, כל אחד מאיתנו נתקל בקשיים מדי פעם :) כנס Limp Bizkit 16.11.07 21:28 12
  וואי אחי מזה תודה רבה.. בן שאול 16.11.07 21:30 13
     לפעם הבאה אם אפשר לשרשר כמו שצריך Limp Bizkit 16.11.07 21:31 14
         צוחק עליי? :P Nesher  16.11.07 22:30 17

       
DLN
חבר מתאריך 20.4.07
15884 הודעות
   19:28   16.11.07   
אל הפורום  
  1. ממ  
בתגובה להודעה מספר 0
 
   מערך אפשר לאפס ככה אם אנלא טועה

int a= {0};

אני מניח שזה גם עובד לדו מימדי


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

   19:36   16.11.07   
אל הפורום  
  2. אז לדו ממדי אני עושה{0}= int arr??  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   19:54   16.11.07   
אל הפורום  
  3. כן (סוגריים מרובעות לא עובדות אז תשתמש ב {} פעם הבאה)  
בתגובה להודעה מספר 2
 
  


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

   20:23   16.11.07   
אל הפורום  
  4. ועוד שאלה קטנה ... איך אני משתמש במערך דו ממדי בפונקציי  
בתגובה להודעה מספר 3
 
   ועוד שאלה קטנה ... איך אני משתמש במערך דו ממדי בפונקצייה כאשר אני רוצה שהמערך יהיה הערך המוחזר...

לדוגמא ..
int put(int arr,int pos,int pl)
{
int num=5,out=0;

while(!out)
{
if(arr=='0')
{
arr='pl';
out=1;
}

else
num--;

}

return arr;*//איך אני מחזיר את המערך הדו ממדי?


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

   20:43   16.11.07   
אל הפורום  
  5. תיקון...  
בתגובה להודעה מספר 4
 
   ערכתי לאחרונה בתאריך 16.11.07 בשעה 20:44 בברכה, בן שאול
 
ועוד שאלה קטנה ... איך אני משתמש במערך דו ממדי בפונקצייה כאשר אני רוצה שהמערך יהיה הערך המוחזר...
לדוגמא ..
int put(int arr,int pos,int pl)
{
int num=5,out=0;

while(!out)
{
if(arr=='0')
{
arr{m}{n}='pl';
out=1;
}

else
num--;

}

return arr{m}{n};*//איך אני מחזיר את המערך הדו ממדי?



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   20:52   16.11.07   
אל הפורום  
  6. אין סיבה להחזיר מערך , שאתה קורא לפונקציה שמקבלת מערך  
בתגובה להודעה מספר 5
 
   הוא משתנה בתוך הפונקציה - זה כאילו רשמת
int* - זה שולח את הכתובת של המערך


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   20:58   16.11.07   
אל הפורום  
  8. אתה לא יכול להחזיר מערך  
בתגובה להודעה מספר 5
 
   מערך הוא לא משתנה בפני עצמו שאפשר להחזיר אותו

בסך הכל כל אחד מאיברי המערך הוא מצביע למקום מסויים בזכרון, ככה שבסופו של דבר הם מרכיבים "מערך"

מקווה שהבנת למה אני מתכוון

מה שכן - אתה יכול להחזיר את אחד מאיברי המערך

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   22:09   16.11.07   
אל הפורום  
  15. אפשר לשלוח את הכתובת של התא הראשון במערך  
בתגובה להודעה מספר 8
 
   וזה אותו אפקט כאילו הוא מחזיר מערך
וכנ"ל אפשר גם ככה להחזיר מערך אחר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   22:15   16.11.07   
אל הפורום  
  16. ומה אמרתי הרגע במילים אחרות ?  
בתגובה להודעה מספר 15
 
  

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DLN
חבר מתאריך 20.4.07
15884 הודעות
   13:45   17.11.07   
אל הפורום  
  18. שאי אפשר להחזיר מערך :|  
בתגובה להודעה מספר 16
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   16:51   17.11.07   
אל הפורום  
  19. אתה באמת לא יכול להחזיר מערך  
בתגובה להודעה מספר 18
 
   אבל יכול להחזיר מצביע לאחד מאיברי המערך (וגם לאיבר הראשון כמו שצויין פה)

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


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

   20:57   16.11.07   
אל הפורום  
  7. אז המערך משתנה והוא מוחזר לתוכנית עצמה ... ??  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   21:02   16.11.07   
אל הפורום  
  10. תלוי איך שלחת את המשתנה  
בתגובה להודעה מספר 7
 
   ערכתי לאחרונה בתאריך 16.11.07 בשעה 21:07 בברכה, Limp Bizkit
 
call-by-value
או
call-by-reference

כשאתה שולח call-by-value, עותק של המשתנה נוצר, כל שינוי שתעשה במשתנה בפונקציה לא ישתנה במשתנה המקורי

כשאתה שולח call-by-reference אתה בעצם שולח את הכתובת של המשתנה בזכרון לפונקציה וככה כל שינוי שתעשה בפונקציה ישתנה גם במשתנה המקורי

בשביל לשלוח call-by-reference יש שני שיטות :
אתה שולח את הכתובת של המשתנה על ידי הוספת & לפני שם המשתנה בקריאה לפונקציה
לדוגמא,יש לנו פונקציה b שמקבלת משתנה a
אז אנחנו שולחים את המשתנה בצורה הבאה לפונקציה :


b(&a);

דרך שניה היא להפוך את הפרמטר בהגדרת הפונקציה למצביע


מערך בברירת מחדל נשלח call-by-reference

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


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

   21:00   16.11.07   
אל הפורום  
  9. אהה הבנתי אותך ... זה כאילו נשמר בזיכרון.. תודה רבה אחי ..  
בתגובה להודעה מספר 0
 
  


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

   21:13   16.11.07   
אל הפורום  
  11. חח שניה אחי הסתבכתי קצת...  
בתגובה להודעה מספר 9
 
   אני רוצה להכניס לפונקציה מסויימת מערך דו ממדי לדוגמא הגרתי m 6 ו n 7
עכשיו הגדרתי בתוכנית {int arr{m}{n עכשיו איך אני מגדיר בפונקצייה עצמה שאני מקבל את המער arr ואני רוצה לעשות בה שינויים...
ואיך אני קורא לפונקצייה בתוכנית עצמה .... תודה רבה רבה מראש וסליחה על השיגועים..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   21:28   16.11.07   
אל הפורום  
  12. זה בסדר, כל אחד מאיתנו נתקל בקשיים מדי פעם :) כנס  
בתגובה להודעה מספר 11
 
   ערכתי לאחרונה בתאריך 16.11.07 בשעה 21:29 בברכה, Limp Bizkit
 
יש לנו תוכנית, והגדרנו מערך דו מימדי :

int arr[][];

לצורך ההדגמה נניח שהמערך מאותחל

יש לנו פונקציה בשם a שמקבלת מערך דו מימדי, בשביל זה נגדיר פרמטר בתוך הפונקציה a שיידע שהוא עומד לקבל מערך דו מימדי


a(int b[][])

בשביל לקרוא לפונקציה, פשוט קוראים לפונקציה a בצורה הבאה :

a(arr);

מה שעשינו פה, פשוט שלחנו מצביע לאיבר הראשון במערך
ועכשיו כל שינוי שתעשה בפונקציה a, ישתנה גם במערך המקורי arr

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


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

   21:30   16.11.07   
אל הפורום  
  13. וואי אחי מזה תודה רבה..  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Limp Bizkit
חבר מתאריך 2.9.02
3436 הודעות
   21:31   16.11.07   
אל הפורום  
  14. לפעם הבאה אם אפשר לשרשר כמו שצריך  
בתגובה להודעה מספר 13
 
  

Ask any racer, any real racer. It doesn't matter if you win by an inch or a mile; winning's
winning.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   22:30   16.11.07   
אל הפורום  
  17. צוחק עליי? :P  
בתגובה להודעה מספר 14
 


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

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

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



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